用于gridview的相关模型的Yii数据提供者

时间:2015-02-03 11:15:29

标签: gridview yii

我是用户和公司模型。它们彼此相关。

用户模型:

'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?

1 个答案:

答案 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()
));