/**
  * Product update
  *
  * @param ShopProductUpdateRequest $request
  * @param Product $product
  * @return \Illuminate\Http\RedirectResponse
  */
 public function update(ShopProductUpdateRequest $request, Product $product)
 {
     $product->update($request->only('name', 'content', 'price', 'active'));
     if ($request->has('photos')) {
         $photos = Photo::whereIn('id', $request->get('photos'))->get();
         $product->photos()->saveMany($photos);
     }
     if ($request->has('category_id')) {
         $product->categories()->sync($request->only('category_id'));
     }
     if ($request->has('field')) {
         //@Todo check field before save
         $product->values()->delete();
         $product->fields()->sync(array_keys($request->field));
         foreach ($request->field as $fieldId => $value) {
             $field = Field::findOrFail($fieldId);
             FieldValue::create([$field->type => $value[$field->type], 'product_id' => $product->id, 'field_id' => $field->id]);
         }
     } else {
         $product->values()->delete();
         $product->fields()->detach();
     }
     if ($request->has('fields')) {
         $product->fields()->attach($request->get('fields'));
     }
     Session::flash('message', 'Товар обнавлен');
     return redirect()->route('manager.shop.product.edit', $product->id);
 }