我有两个关系模型:
class Model1 extends CActiveRecord
public function relations()
{
return array(
'relation' => array(self::HAS_MANY, 'Model2', 'id_model1'),
)
}
我希望CListView查看模型1中的那些记录,无关与Model2。 很明显,我可以使用像
这样的东西$criteria->condition = 'id NOT IN (SELECT DISTINCT id_model1 FROM model2_tbl)'
然后将此$条件发送到ActiveDataProvider。 但我寻找更聪明的东西,更多的“yii-way”解决方案。它存在吗?
答案 0 :(得分:3)
Relational query options 'joinType' = 'RIGHT OUTER'
和'condition'=>'left_table.join_field IS NULL'
可以解决问题。