@EVOSandru6

Как в Yii добавить условие в Cdbcriteria?

Добрый день, есть 3 таблицы:

t_service (CODE, NAME)
mc_faq (NAME, DESCRIPTION, EXIST)
l_service_22_faq (CODE, CODE_1, CODE_2) - связочная

stackoverflow.com/questions/8044552/searching-in-y...

Пользовался этим рецептом для нахождения всех faq для данной услуги, есть такой момент:
На этапе удаления для mc_faq я делаю EXIST = '2' - это полное удаление (0 - упразднение)

Хочу дописать condition для $criteria, чтобы в гриде вытаскивались FAQ только те, у которых EXIST != 2

Пробовал так;

$criteria = new CDbCriteria();
$criteria->with = array(
    'faq_service' => array(
        'condition' => 'CODE_1 = '.$model->CODE,
        'group'     => 'CODE_2',
        'together'=>true
    ),
);
$criteria->condition = 'mc_faq.EXIST = 1';


Но вылезла ошибка:

CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'mc_faq.EXIST' in 'where clause'. The SQL statement executed was: SELECT COUNT(DISTINCT `t`.`CODE`) FROM `mc_faq` `t` LEFT OUTER JOIN `l_service_22_faq` `faq_service` ON (`faq_service`.`CODE_2`=`t`.`CODE`) WHERE (mc_faq.EXIST = 1) AND (CODE_1 = 25)

Связи в модели Service:

'faq'=>array(self::MANY_MANY, 'Faq',  'l_service_22_faq(CODE_1, CODE_2)'),
'service_faq'=>array(self::HAS_MANY, 'LService22Faq', 'CODE_1'),


Связи в модели LService22Faq:

'service'  => array( self::BELONGS_TO, 'Service', 'CODE_1' ),
'faq'   => array( self::BELONGS_TO, 'Faq', 'CODE_2' ),


Помогите советом люди добрые!
  • Вопрос задан
  • 2296 просмотров
Решения вопроса 1
rdifb0
@rdifb0
Программист, реалист
FROM `mc_faq` `t`
Видите тут алиас для таблицы по умолчанию. Попробуйте так
$criteria->condition = 't.EXIST = 1';
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы