タスク モデルに many_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';
OK、タスクには 1 つまたは * のキーワードを含めることができます。でタスクにフィルターをかけた場合
$criteria->addCondition('keywordlist.name like \'%html%\'','AND');
必要なタスクを受け取りますが、html キーワードのみを使用します。タスクには、表示されない他のキーワードもあります。keywordlist.name 列から in_array のようなものを作成するにはどうすればよいですか。キーワードが結果にある場合、すべてのキーワードをタスクに返しますか?
たとえば、キーワード検索として %p% を使用すると、キーワードが「p」を含むもので構成されている場合、より多くのキーワードが表示されます。他のキーワードも表示されません。