Yii Criteria->没有关系或没有' on'

时间:2015-05-16 18:29:04

标签: join yii criteria cgridview cactivedataprovider

如何在"上创建criteria->with() witout"或没有"默认关系" 在查询?

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

2 个答案:

答案 0 :(得分:0)

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

执行此操作

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

答案 1 :(得分:0)

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

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

并在搜索方法中:

public function search() {        
        $criteria = new CDbCriteria;
        $criteria->with = array('user');
        ......
}