Php 以多对多方式保存数据

Php 以多对多方式保存数据,php,yii,Php,Yii,我已经阅读了很多信息,但我不明白如何从复选框列表中获取演员id。我有演员表,连接,多对多的电影。一切基本正常,在$\u POST中单击“保存在表单中”后,有: array (size=3) 'Film' => array (size=2) 'name' => string 'bvb' (length=3) 'about' => string 'fdgg' (length=4) 'Actors' => array (si

我已经阅读了很多信息,但我不明白如何从复选框列表中获取演员id。我有演员表,连接,多对多的电影。一切基本正常,在
$\u POST
中单击“保存在表单中”后,有:

array (size=3)

  'Film' => 
    array (size=2)
      'name' => string 'bvb' (length=3)
      'about' => string 'fdgg' (length=4)
  'Actors' => 
    array (size=1)
      'id' => 
        array (size=1)
          0 => string '2' (length=1)
  'yt0' => string 'Create' (length=6)
因此,我试图将我的
$\u POST['Actors']['id']
放到connect表中,但什么也没发生:

protected function afterSave(){
    $actors=$this->ActorsArray;
    parent::afterSave();
    $postCat = new Connect();
    $postCat->id_film = $this->id;
    if (isset($_POST['Actors'])){
    $postCat->id_actor = $_POST['Actors']}
    $postCat->save();
}
这是来自胶片控制器:

public function actionCreate()
{
    $model=new Film;
    $model1=new Actors();
    // Uncomment the following line if AJAX validation is needed
    // $this->performAjaxValidation($model);
    if(isset($_POST['Film']))
    {
        $model->attributes=$_POST['Film'];
        if($model->save())
            $this->redirect(array('view','id'=>$model->id));
    }

    $this->render('create',array(
        'model'=>$model,'model1'=>$model1,
    ));
}

将env变量(如$\u POST)放入数据模型中是非常糟糕的做法。要解决您的问题,请尝试获取错误:
var\u dump($poscat->getErrors())
我今天刚开始学习Yii,在这里我应该查看这些错误。它不会从aftersave函数中删除var_dump()您应该将这个
var_dump()放在
$poscat->save()之后它不显示任何内容
afterSave
功能未启动