我是用户和公司模型。它们彼此相关。
用户模型:
'company_r'=>array(self::HAS_MANY, 'Company','user_id'),
我想在gridview中使用关系打印指定用户的公司,如下例所示:
1 | company1
2 | company2
3 | company3
我知道可以使用这种方法:
Company::model()->findAllByAttributes(array('user_id'=>$user_id));
但是我有兴趣使用这种方法来做到这一点:
$model=User::model()->findByPk($user_id);
$this->widget('bootstrap.widgets.TbGridView', array(
//'dataProvider'=>$model->company_r->search(),
....
如何获取相关的模型dataProvider?
答案 0 :(得分:0)
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'columns'=>array(
'title',
'category',
'content:html',
array(
'header'=>'Company Name',
'value'=>'$data->company_r->name',
),
),
));
这里company_r是用户和公司之间的关系名称。获得像
这样的用户$dataProvider=new CActiveDataProvider('User',array(
'criteria'=>array()
));