Php 以多对多方式保存数据
我已经阅读了很多信息,但我不明白如何从复选框列表中获取演员id。我有演员表,连接,多对多的电影。一切基本正常,在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
$\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
功能未启动