Покажите пожалуйста пример использования CDbCriteria

Покажите пожалуйста пример использования CDbCriteria

Надо искать по 2 и более условиям.

Как например это -


SELECT * FROM products WHERE eng_prod_name = '$search_eng_prod_name' AND hide = '$search_hide'

реализвать с помошью




$criteria->condition='data_from>=:data_from'

$criteria->params=array(':data_from'=>$_POST['var']['data_from']);



;

??????

Как еще реализовывается "LIKE" через $criteria

В документации нифига не понятно (мне лично).:(

Есть какой нить пример более сложного запроса чем просто найти пост с номером 10? :)

Заранее спасибо.

Почти все свойства класса CDbCriteria соответствуют той или иной части SQL запроса. Condition соответствует части WHERE, т.е. в него помещаются и сложные условия, и LIKE:




$criteria->condition = 'eng_prod_name = "abc" AND hide = 1';



Во избежание порчи запроса, данные из $_POST подставляют не непосредственно в condition, а в params:




$criteria->condition = 'eng_prod_name = :name AND hide = :hide';

$criteria->params = array(':name'=>$_POST['name'], ':hide'=>$_POST['hide']);



LIKE:




$criteria->condition = 'eng_prod_name LIKE "abc%" OR hide = 0';



Огромное спасибо!

Наконец-то заработало все правильно.


$criteria->condition = 'name = :name';

$criteria->params = array(':name'=> '%' . $name . '%');

И так вроде можно…