我使用2个表格,其中包含1对多关系:广告系列和群组
此代码仅返回组中的相关广告系列。
$models = Campaigns::model()->with(array(
'Campgroupassoc' => array('condition' => "groupid=$id"),
))->findAll();
这段代码:
$dataProvider = new CActiveDataProvider('Campaigns', array(
'criteria' => array(
'with' => array(
'Campgroupassoc' => array(
'condition' => "groupid=$id"
)
),
)
));
返回不属于同一群组的广告系列。
我做错了什么? THX
答案 0 :(得分:0)
'Campgroupassoc' => array(
'condition' => "groupid=:id",
'params'=>array(':id'=>$id)
)
最好指定groupid
所属的模型。当然,您可以看到SQL数据提供者正在生成和分析它。
答案 1 :(得分:0)
编辑-----
在咨询Yii实时聊天后,我发现即使使用预先加载,也会导致2次查询而不是1次...
为了解决这个问题,您需要添加:
'together' => TRUE