我正在尝试添加一个非常简单的条件,它不会返回任何数据。
这是我的search()代码。
public function search()
{
// @todo Please modify the following code to remove attributes that should not be searched.
$criteria = new CDbCriteria;
$criteria->compare('id', $this->id);
$criteria->compare('title', $this->title, true);
$criteria->compare('content', $this->content, true);
$criteria->compare('categoryId', $this->categoryId);
$criteria->compare('tags', $this->tags, true);
$criteria->compare('createdById', $this->createdById);
$criteria->compare('createdAt', $this->createdAt, true);
$criteria->compare('updatedById', $this->updatedById);
$criteria->compare('updatedAt', $this->updatedAt, true);
$criteria->compare('status', $this->status);
if (!TK::isEmpty($this->tags)) {
$criteria->addCondition('t.id IN ('.'1,2,3'.')');
}
return new CActiveDataProvider($this, array(
'criteria' => $criteria,
));
}
我无法理解为什么这部分不起作用, $ criteria-> addCondition(' t.id IN('。' 1,2,3'。 ')&#39);
我只想获取匹配id的数据。
答案 0 :(得分:2)
您应该只使用addInCondition
,例如:
$criteria->addInCondition('id', array(1,2,3));
http://www.yiiframework.com/doc/api/1.1/CDbCriteria#addInCondition-detail