我正在尝试在一个CActiveDataProvider中加入3个表,以帮助我完整和更好地订购东西。但我正在努力把安排做好。我已经发表了评论,试图帮助勾勒出我想要的东西。我可以在SQL中做得很好,但理想情况下我更喜欢在活动记录中做。
项目表: FK =区域表ID
区域表:从函数中获取$id以选择区域
特色表格: FK = Item_id
$dataProvider=new CActiveDataProvider('Item', array(
'criteria' => array(
'with' =>'sector', // and need 'featureditem'
'condition' =>'t.sector_id=:id', // t.id = featureditem.item_id
'params' => array(':id'=>$id), // is the area to search in
'order' => 'featureditem.item_id DESC',
)
));发布于 2013-06-27 19:09:02
您想要的似乎可以通过INNER JOIN来实现
$dataProvider=new CActiveDataProvider('Item', array(
'criteria' => array(
'with' =>'sector',
'condition' =>'t.sector_id=:id',
'params' => array(':id'=>$id),
'order' => 'fi.item_id DESC',
'join' => 'INNER JOIN featureitem fi ON fi.item_id=t.id',
)
));https://stackoverflow.com/questions/17334386
复制相似问题