2

如何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克服这个问题?

4

2 回答 2

0

CDbCriteria::with 要求您定义关系。如果您想手动连接表,该类还允许您使用 join 属性执行此操作

http://www.yiiframework.com/doc/api/1.1/CDbCriteria#join-detail

于 2015-05-16T23:58:19.773 回答
0

您可以在模型中定义关系,而不是在搜索方法中使用它。例如

public function relations() {
        return array(
            'user' => array(self::BELONGS_TO, 'Users', 'user_id'),
        );
    }

并在搜索方法中:

public function search() {        
        $criteria = new CDbCriteria;
        $criteria->with = array('user');
        ......
}
于 2015-05-17T10:12:06.207 回答