在laravel 5.2

时间:2016-09-23 05:08:21

标签: php laravel laravel-5 eloquent laravel-5.2

我正在创建一个代码,通过该代码我可以复制多行表及其相关表。

我能够成功复制父表,但在复制子表的内容时,它正在修改我无法弄清楚的值。

我的控制器代码是

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);
        }
    }
}

当我打印完整数组时,它显示我想要插入的正确数据,请查看下面的

enter image description here

但是在将其插入表格后,我在表格中看到了这些数据,show_id和showdata_rate的值变为零值,其他列插入了正确的数据。

enter image description here

我无法弄清楚这个问题,因为在将数据插入表格之前,我无法将数据更改为零。

1 个答案:

答案 0 :(得分:0)

确保 Movies_showdata 模型中的 show_id showdata_rate 可以填写:

         <source path='domain.domainclasses'/>