如何criteria->with()
在查询中创建“打开”或没有“默认关系”?
select *
from status kk
inner join user tt
left join userstatus ii on kk.status_id = ii.status_id
and ii.user_id = tt.user_id
我想用它CGridView
在 YII 中搜索dataProvider
.
或者有没有其他方法可以让diapakai克服这个问题?
如何criteria->with()
在查询中创建“打开”或没有“默认关系”?
select *
from status kk
inner join user tt
left join userstatus ii on kk.status_id = ii.status_id
and ii.user_id = tt.user_id
我想用它CGridView
在 YII 中搜索dataProvider
.
或者有没有其他方法可以让diapakai克服这个问题?
CDbCriteria::with 要求您定义关系。如果您想手动连接表,该类还允许您使用 join 属性执行此操作
http://www.yiiframework.com/doc/api/1.1/CDbCriteria#join-detail
您可以在模型中定义关系,而不是在搜索方法中使用它。例如
public function relations() {
return array(
'user' => array(self::BELONGS_TO, 'Users', 'user_id'),
);
}
并在搜索方法中:
public function search() {
$criteria = new CDbCriteria;
$criteria->with = array('user');
......
}