/** * Get the validation rules that apply to the request. * * @return array */ public function rules() { //@todo validation is not working yet?? if (count($this->request->get('website_id')) <= 0) { $validateArray['website_id[]'] = 'required'; } $productAttributes = ProductAttribute::all(); foreach ($productAttributes as $productAttribute) { if ($productAttribute->validation != '') { $validateArray[$productAttribute->identifier] = $productAttribute->validation; } } return $validateArray; //return [ // 'title' => 'required|max:255', // 'identifier' => 'required|max:255|unique:product_attributes,id,' . $this->get('id'), // 'type' => 'required', // 'user.email' => 'required|email|unique:users,email,' . $user->id, //]; }
public function saveProductAttribute($product, ProductRequest $request) { $productAttributes = ProductAttribute::all(); foreach ($productAttributes as $productAttribute) { $identifier = $productAttribute->identifier; if (null == $request->get($identifier)) { continue; } if ($product->{$identifier} == $request->get($identifier)) { continue; } switch ($productAttribute->type) { case 'VARCHAR': $value = $request->get($identifier); $this->_saveProductVarcharValue($product, $identifier, $productAttribute, $value); break; case 'INTEGER': $value = $request->get($identifier); $this->_saveProductIntegerValue($product, $identifier, $productAttribute, $value); break; case 'FLOAT': $value = $request->get($identifier); $this->_saveProductFloatValue($product, $identifier, $productAttribute, $value); break; case 'DATETIME': $value = $request->get($identifier); $this->_saveProductDatetimeValue($product, $identifier, $productAttribute, $value); break; case 'TEXT': $value = $request->get($identifier); $this->_saveProductTextValue($product, $identifier, $productAttribute, $value); break; default: break; } } return true; }
/** * Show the form for editing the specified resource. * * @param int $id * * @return \Illuminate\Http\Response */ public function edit($id) { $product = Product::findorfail($id); $categories = $this->categoryHelper->getCategoryOptions(); $websites = Website::pluck('name', 'id'); $productAttributes = ProductAttribute::all(); return view('admin.catalog.product.edit')->with('product', $product)->with('websites', $websites)->with('categories', $categories)->with('productAttributes', $productAttributes); }