Как получить все значения в «как» каждого из операторов case в критериях cdb findAll в Yii?

0

У меня есть запрос, например, например

    $criteria = new CDbCriteria();
    $criteria->select = array(
        'CASE
         when userid is not null then userid
        end
      as A',
        'CASE 
         when userid is not null then \'D\'
        end
      as H');
    $result = MyModel::model()->findAll($criteria);

когда я получаю результат $ result, я получаю объекты в каждом из этих результатов, и я могу получить только фактический столбец таблицы, например, например

$obj->USERID

Я хочу получить псевдоним, который я использовал в инструкции select, например,

$obj->A  OR $obj->H 

но если я это сделаю, я получаю сообщение об ошибке, потому что A и H не являются свойствами MyModel

можно ли получить "как" имена в виде столбцов таблицы из результата findAll?, если да, то как?

Теги:
yii

1 ответ

0

В CActiveRecord свойства автоматически распознаются на основе схемы таблицы, на которой базируется модель, как вы можете видеть здесь.

Таким образом, самый простой способ добавления свойств - добавить поддельные столбцы в таблицу, на которой базируется модель.
Другой способ - переопределить метод attributeName(). Вы можете добавить свойства к модели. см. здесь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню