diman
(Dpanov76)
July 1, 2010, 4:22pm
1
Покажите пожалуйста пример использования 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?
Заранее спасибо.
andy_s
(Arekandrei)
July 1, 2010, 4:42pm
2
Почти все свойства класса 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';
diman
(Dpanov76)
July 2, 2010, 1:02pm
3
Огромное спасибо!
Наконец-то заработало все правильно.
napeHeK
(Napehek)
July 4, 2010, 7:05pm
4
$criteria->condition = 'name = :name';
$criteria->params = array(':name'=> '%' . $name . '%');
И так вроде можно…