我像这样使用 findAll():
$l = SiteContentRelated::model()->findAll('content_1=:c', array(':c' => $id));
我如何为此添加条件?
像
LIMIT 5
还是什么?
最佳答案
使用 CDbCriteria
指定更详细的标准:
$criteria = new CDbCriteria;
$criteria->condition = 'content_1=:c';
$criteria->limit = 5;
$criteria->params = array(':c' => $id);
$l = SiteContentRelated::model()->findAll($criteria);
或将数组传递给
findAll
这将被转换为 CDbCriteria
:$l = SiteContentRelated::model()->findAll(array(
'condition' => 'content_1=:c',
'limit' => 5,
'params' => array(':c' => $id),
));
当您指定
LIMIT
时,最好同时指定 ORDER BY
.对于基于模型属性的过滤,您还可以使用
findAllByAttributes
:$l = SiteContentRelated::model()->findAllByAttributes(array(
'content_1' => $id,
), array(
'limit' => 5,
));
关于activerecord - Yii - 如何使用 where 和 limit 等条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14101811/