Join Yii标准->;有无关系或无';在';

Join Yii标准->;有无关系或无';在';,join,yii,criteria,cgridview,cactivedataprovider,Join,Yii,Criteria,Cgridview,Cactivedataprovider,如何创建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 或者有没有其他方法可以解决这个问题?CDbCriteria::with需要定义关

如何创建
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


或者有没有其他方法可以解决这个问题?

CDbCriteria::with需要定义关系。如果要手动联接表,则该类还允许您使用join属性来进行联接

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

public function relations() {
        return array(
            'user' => array(self::BELONGS_TO, 'Users', 'user_id'),
        );
    }
在搜索方法中:

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