public function ProductOfCate($slug) { $cate_id = Category::where('slug', '=', $slug)->first(); $categories = Category::all(); $productOfcate = Product::where('category_id', $cate_id->id)->orderBy('created_at', 'DESC')->get(); $featured_products = FeaturedProduct::orderBy('rank', 'ASC')->get(); foreach ($featured_products as $i) { $id[] = $i->product_id; } $featured_photo = Photo::whereIn('product_id', $id)->get(); $lastest_product = Product::orderBy('created_at', 'DESC')->limit(8)->get(); return view('pages.category', compact('productOfcate', 'cate_id', 'categories', 'featured_products', 'featured_photo', 'lastest_product')); }
/** * Product store * * @param ShopProductStoreRequest $request * @return \Illuminate\Http\RedirectResponse */ public function store(ShopProductStoreRequest $request) { $product = Product::create($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()->attach($request->get('category_id')); } //@Todo check field before save $product->fields()->attach(array_keys($request->field)); foreach ($request->get('field') as $fieldId => $value) { if (!empty($value)) { $field = Field::findOrFail($fieldId); FieldValue::create([$field->type => $value[$field->type], 'product_id' => $product->id, 'field_id' => $field->id]); } } if ($request->has('fields')) { $product->fields()->attach($request->get('fields')); } Session::flash('message', 'Товар добавлен'); return redirect()->route('manager.shop.product.edit', $product->id); }
/** * Update Category * * @param ShopCategoryUpdateRequest $request * @param $category * @return \Illuminate\Http\RedirectResponse */ public function update(ShopCategoryUpdateRequest $request, Category $category) { $category->update(['name' => $request->get('name'), 'content' => $request->get('content')]); if ($request->has('parent_id')) { $parent = Category::find($request->get('parent_id')); $parent->children()->save($category); } else { $category->parent_id = null; $category->save(); } if ($request->has('fields')) { $category->fields()->sync($request->get('fields')); } if ($request->has('photos')) { $photos = Photo::whereIn('id', $request->get('photos'))->get(); $category->photos()->saveMany($photos); } Session::flash('message', 'Категория изменено'); return redirect()->route('manager.shop.category.index'); }