Задать вопрос
@EVOSandru6

Почему в Yii CDbCritaria не выполняет больше одного условия?

$criteria = new CDbCriteria();

Этот вариант работает:

$criteria->condition = " `LEVEL` = '2'";

Этот тоже работает

$criteria->condition = " `EXIST` = '1'";

А этот нет, возвращает пустой результат, хотя в таблице точно есть значения, которые удовлетворяют условию WHERE

$criteria->condition = " `LEVEL` = '2' AND `EXIST` = '1' ";


Критерий посылаю как положено в findAll()

$ob = Service::model()->findAll($criteria);

Делаю намеренно ошибку в слове EXIST

Выходит:
SELECT * FROM `t_service` `t` WHERE `LEVEL` = '2' AND `EIST` = '1'


В чем может быть причина?
  • Вопрос задан
  • 2302 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 1
@Nc_Soft
$criteria->condition
затирает предыдущее условие и ставит новое, нужно использовать
$criteria->addCondition()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@melnikov_m
Попробуйте использовать $criteria->compare();
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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