yii cGridView多分量

yii cGridView多分量,yii,Yii,我不知道该怎么做,所以我问: 我有一个Person模型和Event模型,以及一个连接表Person\u Event 我现在得到的界面的工作方式如下: 一个人正在登录,他的id正在通过URL发送 此人正在从cGridView(复选框列)中选择他感兴趣的事件 写一些评论 4.按下发送按钮,将触发以下创建操作: public function actionXcreate() { $model=new Person_Event; if(isset($_POST['Person_Even

我不知道该怎么做,所以我问:

我有一个Person模型和Event模型,以及一个连接表Person\u Event

我现在得到的界面的工作方式如下:

  • 一个人正在登录,他的id正在通过URL发送
  • 此人正在从cGridView(复选框列)中选择他感兴趣的事件
  • 写一些评论 4.按下发送按钮,将触发以下创建操作:

    public function actionXcreate()
    {
        $model=new Person_Event;
    
        if(isset($_POST['Person_Event']))
        {                    
            foreach ($_POST['selectedIds'] as $eventId)
            {                               
                $pmodel=new Person_Event;
                $pmodel->person_id=$this->_person->id;  //the id of the person who is logged in         
                $pmodel->attributes=$_POST['Person_Event'];     //the comment                   
                $pmodel->event_id = $eventId;           //all the events he checked in the grid         
                if (!$pmodel->save()) print_r($pmodel->errors);                         
            }
            $this->redirect(array('site/success'));
        }
    
  • 到目前为止,一切都是合乎逻辑和简单的。然而,我最终得到的结果是,此人编写的注释将复制到DB中的每个person_事件行

    我想在网格的每一行中放置一个文本框,将在其中写入的commnet将转到特定事件

    现在,我在yii中找到了关于“管理面板”的主题 这有点帮助,但是:


    我在操作中已经有了一个foreach,该foreach将人员id与事件id相匹配,因此如何为每个组合添加另一个单独的注释?

    默认的CGridView只支持基本功能,您需要扩展CGridView或使用扩展使列可编辑

    最简单的方法是使用Yii booster库中的
    TbEditableColumn
    之类的内容 请参见“其他列类型”部分中的EditableColumn

    如果您不喜欢或不希望使用twitter引导样式,那么像这样的独立扩展将有所帮助

    或者,您可以自己扩展CGridView以支持列级编辑