Search code examples
phplaraveleloquentlaravel-5replicate

replicate() method not found in laravel 5.2


I am trying to replicate table row and its relationship.

but I am getting error message that replicate() does not exist,

enter image description here

I have seen on stackoverflow that many have used replicate() without any issue, but i am getting this error

my controller code

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

    $newshowtime=$movieshowtime->replicate();
    return $newshowtime;


}

Is there any namespace i have to use for using replicate() , I am unable to get solution from laravel website also.

help is appreciated.


Solution

  • This code worked perfectly for me

     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);
    
    
    
            }
        }
    
        return redirect()->back();
    
    
    }
    

    Any suggestions to improve this code will be appreciated.