我正在创建一个代码,通过该代码我可以复制多行表及其相关表。
我能够成功复制父表,但在复制子表的内容时,它正在修改我无法弄清楚的值。
我的控制器代码是
public function copyshowtime($cinema_id,$show_date)
{
$date=new Carbon($show_date);
$current_show_date=$date->format('Y-m-d');
$next_show_date=$date->addDay()->format('Y-m-d');
$movieshowtime=Movies_showtimes::with('showdata')->where([['cinema_id','=',$cinema_id],['show_date','=',$current_show_date]])->get();
foreach ($movieshowtime as $item)
{
$item->show_date=$next_show_date;
$item->show_id=NULL;
$newshowtime=$item->replicate();
$newshowtime->push();
foreach ($item->showdata as $sd)
{
$newshowdata = array(
'showdata_id' => NULL,
'show_id'=>$newshowtime->id,
'category_id'=>$sd->category_id,
'showdata_category'=>$sd->showdata_category,
'showdata_rate'=>$sd->showdata_rate
);
// print_r($newshowdata);
Movies_showdata::create($newshowdata);
}
}
}
当我打印完整数组时,它显示我想要插入的正确数据,请查看下面的
但是在将其插入表格后,我在表格中看到了这些数据,show_id和showdata_rate的值变为零值,其他列插入了正确的数据。
我无法弄清楚这个问题,因为在将数据插入表格之前,我无法将数据更改为零。
答案 0 :(得分:0)
确保 Movies_showdata 模型中的 show_id 和 showdata_rate 可以填写:
<source path='domain.domainclasses'/>