/** * Update the specified resource in storage. * * @param HouseRequest $request * @param House $house * @return Response */ public function update(HouseRequest $request, House $house) { $data = $request->all(); $data['images'] = $house->images ? $house->images : []; $i = 0; $files = json_decode($data['files_deleted']); foreach ($files as $file) { if (($key = array_search($file, $data['images'])) !== false) { unset($data['images'][$key]); $this->delete($file); } } foreach ($_FILES['images']['tmp_name'] as $tmpPath) { if (!empty($tmpPath)) { $fileUpload = $this->upload($tmpPath, $i++); array_push($data['images'], $fileUpload); } } // Hàm unset() khiến key của array ko còn là dãy số liên tiếp // Lúc này Laravel sẽ ko đối xử và lưu 'images' như kiểu array mà là kiểu Json, cần sửa chữa vấn đề này $data['images'] = array_values($data['images']); $house->fill($data)->save(); return redirect('m/danh-sach-nha-dat/chinh-chu')->with('flash_message', Lang::get('system.update')); }
/** * Save a new House * * @param HouseRequest $request * @return mixed */ protected function createHouse(HouseRequest $request) { $house = House::create($request->all()); $this->syncBanks($house, $request->input('bank_list')); return $house; }