название выбранных полей

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
vadim525
Сообщения: 44
Зарегистрирован: 2011.11.06, 03:13
Откуда: СПб
Контактная информация:

название выбранных полей

Сообщение vadim525 » 2012.01.07, 12:30

Ещё раз всем привет.

вопрос такой: можно ли узнать названия поля ( полей ) выбранных из базы? если да, то как!

хочу сделать так:
в базе есть поля: id, url, title_ru, title_en

в моделе сделал фильтр

Код: Выделить всё

public function defaultScope()
    {
        return array(
                'condition'=> 'title_'.Yii::app()->language.' = title_'.Yii::app()->language,
            );        
    }
т.е выбирается поле с актуальным языком.
а при выводе т.к я не знаю какое поле выбралось не могу его вывести.

delancer
Сообщения: 58
Зарегистрирован: 2011.03.11, 19:37
Откуда: Украина, Донецк

Re: название выбранных полей

Сообщение delancer » 2012.01.07, 13:01

ну можно вроде так: 'select'=>'title_'.Yii::app()->language.' as title'

Аватара пользователя
vadim525
Сообщения: 44
Зарегистрирован: 2011.11.06, 03:13
Откуда: СПб
Контактная информация:

Re: название выбранных полей

Сообщение vadim525 » 2012.01.07, 13:19

нет, не получается так, не выводит (

Аватара пользователя
timlar
Сообщения: 1382
Зарегистрирован: 2009.09.19, 17:49
Откуда: Украина, Днепропетровск
Контактная информация:

Re: название выбранных полей

Сообщение timlar » 2012.01.07, 13:43

Twitter: @timlar_ua

Аватара пользователя
vadim525
Сообщения: 44
Зарегистрирован: 2011.11.06, 03:13
Откуда: СПб
Контактная информация:

Re: название выбранных полей

Сообщение vadim525 » 2012.01.07, 13:50

timlar, выборку нужных полей я сделал, смотри выше,
сложность возникает при выведении т.к поле title_ru или title_en формируется динамически

Аватара пользователя
vadim525
Сообщения: 44
Зарегистрирован: 2011.11.06, 03:13
Откуда: СПб
Контактная информация:

Re: название выбранных полей

Сообщение vadim525 » 2012.01.07, 15:11

сделал вот так, в модели переопределил __get()

Код: Выделить всё

public function __get($name)
{
      if($name === 'title')
      {
          $name = $name.'_'.Yii::app()->language;
          return parent::__get($name);
      }
     else
         return parent::__get($name);
}
 
и уже в представлении вывожу через $ClastPoint->title.

насколько понимаю, так делать нельзя, но подругому я не понимаю как,
подскажите как написать getter, дайте пример, наглядный, буду очень признателен!

Ответить