使用CGridView进行模型的关联

Hei*_* Yu 7 yii relationships

我有一个has_many关联的模型.

我们只想说学生有很多课程.

我想使用CGridView显示特定学生的所有课程.

像这样的东西:

$this->widget('zii.widgets.grid.CGridView', array(                                                 
  'dataProvider' => $model->courses,                                                             
  'columns'=>array(                                                                                                                                                                            
    'name',                                                                                                                                                                                  
  ),                                                                                                 
));
Run Code Online (Sandbox Code Playgroud)

也试过new CActiveDataProvider($model->courses)dataProvider但仍然无法正常工作.

是否有捷径可寻?或者我是否必须在课程模型上创建搜索条件,并手动从学生模型中获取一些标准?

Nei*_*gan 13

  1. 在课程结束后摆脱括号

  2. 使用arraydataprovider

    $this->widget('zii.widgets.grid.CGridView', array(
      'dataProvider' => new CArrayDataProvider($model->courses, array()),
      'columns'=>array(
        'name',
      ), 
    ));
    
    Run Code Online (Sandbox Code Playgroud)