/**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update(Request $request, $id)
 {
     try {
         $product = Product::with(['price', 'price.stantion'])->where('id', $id)->first();
     } catch (ModelNotFoundException $e) {
         abort(404);
     }
     if (!$product) {
         abort(404);
     }
     $id = $request->route('products');
     $validationRules = ['name' => 'required|alpha_spaces_numbers|max:35|unique:products,name,' . $id, 'article' => 'required|alpha_spaces_numbers|max:15', 'description' => 'required|alpha_spaces_numbers', 'condition_id' => 'required|integer'];
     $depos = Stantion::all();
     foreach ($depos as $depo) {
         $validationRules['price' . $depo->id] = 'required|numeric';
         $validationRules['amount' . $depo->id] = 'required|numeric';
         $validationRules['vat' . $depo->id] = 'required|numeric';
     }
     $v = Validator::make($request->all(), $validationRules);
     if ($v->fails()) {
         return redirect()->back()->withErrors($v->errors())->withInput();
     }
     $prices = $product->price;
     DB::transaction(function () use($product, $request, $prices) {
         $product->article = $request->article;
         $product->name = $request->name;
         $product->description = $request->description;
         $product->condition_id = $request->condition_id;
         if (!(int) $request->category_id) {
             $product->category_id = null;
         } else {
             $product->category_id = $request->category_id;
         }
         $product->save();
         foreach ($prices as $price) {
             $priceInputName = 'price' . $price->stantion[0]->id;
             $priceInputAmount = 'amount' . $price->stantion[0]->id;
             $priceInputVAT = 'vat' . $price->stantion[0]->id;
             $price->price = $request->{$priceInputName};
             $price->amount = $request->{$priceInputAmount};
             $price->nds = $request->{$priceInputVAT};
             $price->save();
         }
     });
     return redirect('products')->with('alert-success', 'Товар обновлен');
 }
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index()
 {
     $stations = Stantion::all();
     return view('stations.index', ['stations' => $stations]);
 }