Yii addCondition不起作用

时间:2014-03-13 10:08:07

标签: php yii

我正在尝试添加一个非常简单的条件,它不会返回任何数据。

这是我的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的数据。

1 个答案:

答案 0 :(得分:2)

您应该只使用addInCondition,例如:

$criteria->addInCondition('id', array(1,2,3));

http://www.yiiframework.com/doc/api/1.1/CDbCriteria#addInCondition-detail