public function index() { $userCount = User::count(); $productCount = Product::count(); $fieldCount = Field::count(); $lastUsers = User::take(5)->get(); $lastProducts = Product::take(5)->get(); $lastFields = Field::take(5)->get(); return view('backend.index', compact('userCount', 'categoryCount', 'productCount', 'lastUsers', 'lastProducts', 'fieldCount', 'lastFields')); }
/** * 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); }
public function storeOptionField(ShopFieldStoreRequest $request) { $field = Field::create($request->only(['name', 'content', 'category_id', 'type', 'option_id'])); return response()->json(['status' => 'ok', 'field' => $field->toArray()]); }
/** * Edit category form * * @param Category $category * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function edit(Category $category) { $fields = Field::lists('name', 'id')->toArray(); $categories = ['' => 'Родительская категория'] + Category::where('id', '!=', $category->id)->whereNotIn('id', $category->children()->lists('id')->toArray())->lists('name', 'id')->toArray(); return view('backend.shop.category.edit', compact('category', 'categories', 'fields')); }