2016-09-23 4 views
0

私はテーブルとその関連テーブルの複数の行を複製できるコードを作成しています。値がlaravelの雄弁なcreate()によって変更されました。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); 
     } 
    } 
} 

でそのI挿入しようとしている適切なデータを示し、

enter image description here

下回っしかし、テーブルに挿入した後に確認してください私はこのデータをテーブルに表示し、show_idとshowdata_rateの値はゼロの値をとり、他の列は正しいデータを挿入しています。

enter image description here

私はどこにもテーブルに挿入する前に、ゼロにデータを変更していないのです、この問題を把握することができません。

答えて

0

ていることを確認しますがshowdata_rateがあなたのMovies_showdataモデルに充填可能ですshow_id:

class Movies_showdata extends Model { 
    protected $fillable = ['show_id', 'showdata_rate', ...other fillable fields ]; 
} 
+0

偉大な男、私は完全には現在正常に動作し、記入式でそれらの列を書くのを忘れていました。ありがとう – dollar