7

我像这样使用 findAll() :

$l = SiteContentRelated::model()->findAll('content_1=:c', array(':c' => $id));

我怎样才能为此添加条件?

像 asLIMIT 5还是什么?

4

1 回答 1

18

用于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),
));

当您指定 aLIMIT时,最好同时指定ORDER BY


对于基于模型属性的过滤,您还可以使用findAllByAttributes

$l = SiteContentRelated::model()->findAllByAttributes(array(
  'content_1' => $id,
), array(
  'limit' => 5,
));
于 2012-12-31T12:59:29.857 回答