Example #1
0
 /**
  * Update the specified resource in storage.
  *
  * @param  Request  $request
  * @param  int  $id
  * @return Response
  */
 public function update(Request $request, $id)
 {
     $rules = ['car_id' => 'required', 'city_id' => 'required', 'name' => 'required', 'phone' => 'required|min:7'];
     $messages = ['car_id.required' => 'Выберите марку автомобиля', 'city_id.required' => 'Выберите город', 'name.required' => 'Укажите свое имя', 'phone.required' => 'Укажите свой номер телефона', 'phone.min' => 'Укажите свой номер телефона'];
     $validator = Validator::make($request->all(), $rules, $messages);
     $validator->after(function ($validator) use($request) {
         if ($request->get('price_to') && $request->get('price_from') > $request->get('price_to')) {
             $validator->errors()->add('price_invalid', 'Значение "Цена, от" не может быть больше значения "Цена, до"');
         }
         if ($request->get('year_to') && $request->get('year_from') > $request->get('year_to')) {
             $validator->errors()->add('year_invalid', 'Значение "Год выпуска, от" не может быть больше значения "Год выпуска, до"');
         }
     });
     if ($validator->fails()) {
         $this->throwValidationException($request, $validator);
     }
     $item = Inquiry::findOrFail($id);
     $item->update($request->all());
     if ($request->has('carinfo')) {
         $carinfoFilled = false;
         foreach ($request->get('carinfo') as $value) {
             if ($value) {
                 $carinfoFilled = true;
                 break;
             }
         }
         if ($carinfoFilled) {
             $carinfo = Carinfo::where('inquiry_id', $id)->first() ?: new Carinfo();
             $carinfo->fill($request->get('carinfo'));
             $item->carinfo()->save($carinfo);
         } else {
             $item->carinfo()->delete();
         }
     }
     if ($request->ajax()) {
         $inquiry = Inquiry::with('car', 'carinfo', 'city')->findOrFail($item->id);
         return response()->json(['status' => 'success', 'message' => 'Объявление сохранено', 'inquiry' => $inquiry]);
     }
     Flash::success("Запись - {$id} обновлена");
     return redirect()->back();
 }
Example #2
0
 /**
  * Update the specified resource in storage.
  *
  * @param  Request  $request
  * @param  int  $id
  * @return Response
  */
 public function update(Request $request, $id)
 {
     $this->validate($request, ['name' => 'required']);
     $item = Inquiry::findOrFail($id);
     $item->update($request->all());
     if ($request->has('carinfo')) {
         $carinfoFilled = false;
         foreach ($request->get('carinfo') as $value) {
             if ($value) {
                 $carinfoFilled = true;
                 break;
             }
         }
         if ($carinfoFilled) {
             $carinfo = Carinfo::where('inquiry_id', $id)->first() ?: new Carinfo();
             $carinfo->fill($request->get('carinfo'));
             $item->carinfo()->save($carinfo);
         } else {
             $item->carinfo()->delete();
         }
     }
     Flash::success("Запись - {$id} обновлена");
     return redirect(route('admin.inquiries.index'));
 }