yii many_many db条件过滤器太具体了

时间:2012-07-03 21:55:01

标签: yii many-to-many

我的任务模型中有很多关系

 'keywordlist' => array(self::MANY_MANY, 'Keyword', 'task_keyword(id_task, id_keyword)'),

我用

获取所有这些任务的列表
$criteria = new CDbCriteria();
    $criteria->condition = "t.blocked = 0 AND t.answered = 0 AND t.date_deadline > NOW()";
    $criteria->order = 't.id desc';

好的,现在任务可以有一个或*关键字。如果我使用

对我的任务进行过滤
$criteria->addCondition('keywordlist.name like \'%html%\'','AND');

我收到了想要的任务,但只能使用html关键字。该任务还有更多其他不会出现的关键字。 如何从keywordlist.name列创建类似in_array的内容。如果关键字在结果中,则将所有关键字返回给我的任务?

如果我使用%p%作为关键字搜索,则如果关键字包含“p”,则会显示更多关键字。但其他关键词也不会出现。

1 个答案:

答案 0 :(得分:0)

如果我理解正确addInCondition()正是您要找的

$criteria->addInCondition('keywordlist.name',array('html','add','other','keywords','here'));