为CGridView创建过滤器

时间:2014-01-17 15:49:04

标签: php yii cgridview

我有一个模块,有一个控制器,一组视图和5个模型(将来可以更多)。 所以在控制器中我有动作

    $model = new $modelName('search');
    $model->unsetAttributes(); 
    $model->create_user_id = Yii::app()->user->id;

    if (isset($_GET[$modelName]))
        $model->attributes = $_GET[$modelName];

    $this->render('model_view/adminModel', array(
        'modelName' => $modelName,
        'model'     => $model,
        ));

并且在视图中我有一个基于CGridView的小部件

    $this->widget('application.components.widgets.usertheme.UserGridView', 
    array(
        'id'=>'user-grid',
        'dataProvider'  =>$model->search(),
        'filter'=>$model,
        'columns'       => .....
.....
        )
    );

如果我采取行动(第3行)

  

$ model-> create_user_id = Yii :: app() - > user-> id;

它工作正常,并显示由系统上的用户创建的数据。 但是,如果我想从这个表中找到信息,但是使用过滤器 - USER从另一个表创建的文档(我与它有关系)

  

'document'=>数组(self :: BELONGS_TO,'Document','document_id'),

并在行动中写

  

$ model-> document-> create_user_id = Yii :: app() - > user-> id;

它不起作用,并给出错误

  

间接修改重载属性Reports :: $ document无效

0 个答案:

没有答案