@EVOSandru6

Как в Yii правильно организовать запрос с compare?

привет!

Что я делаю не так?

Мне необходимо получить такой запрос:

SELECT COUNT(*) FROM `t_product` `t` WHERE EXIST=:ycp0 AND CAT=:ycp1 
AND
 (NAME LIKE :ycp2 OR NAME_EN LIKE :ycp3 OR NAME_EXCEL LIKE :ycp4 OR NAME_MENU LIKE :ycp5)


Попробовал так,

$criteria->compare('EXIST','1');
        $criteria->compare('CAT','0');
        $criteria->compare('NAME',$search->string,true,'AND');
        $criteria->compare('NAME_EN',$search->string,true,'OR');
        $criteria->compare('NAME_EXCEL',$search->string,true,'OR');
        $criteria->compare('NAME_MENU',$search->string,true,'OR');


Получаю:

SELECT COUNT(*) FROM `t_product` `t` WHERE (((((EXIST=:ycp0) AND (CAT=:ycp1)) AND (NAME LIKE :ycp2)) OR (NAME_EN LIKE :ycp3)) OR (NAME_EXCEL LIKE :ycp4)) OR (NAME_MENU LIKE :ycp5)

Как правильно?
  • Вопрос задан
  • 178 просмотров
Решения вопроса 1
des1roer
@des1roer
ученье - свет, а неученье - приятный полумрак
$connection = Yii::app()->db;
    $sql = "
               SELECT COUNT(*) FROM `t_product` `t` WHERE EXIST=:ycp0 AND CAT=:ycp1 
AND
 (NAME LIKE :ycp2 OR NAME_EN LIKE :ycp3 OR NAME_EXCEL LIKE :ycp4 OR NAME_MENU LIKE :ycp5)
                                ";
    $dataReader = $connection->createCommand($sql)->query();
    $rows = $dataReader->readAll();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы