示例#1
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id_region
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id_region)
 {
     $this->validate($request, ['name' => 'required', 'countries' => 'required']);
     $region = Region::findOrFail($id_region);
     $region->name = $request->get('name');
     $region->save();
     //Reset
     $region_countries = Country::where('id_region', $id_region)->get();
     foreach ($region_countries as $country) {
         $country->id_region = null;
         $country->save();
     }
     //Set new ones
     $country_codes = $request->get('countries');
     foreach ($country_codes as $country_code) {
         $country = Country::findOrFail($country_code);
         $country->id_region = $region->id;
         $country->save();
     }
     return redirect()->route('regions.index')->with('message_update', 'Region ' . $region->name . ' has been successfully updated');
 }