/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // validate request $validateProductCategory = Validator::make($request->get('ProductCategory'), ProductCategory::$rules); $validationMessages = []; foreach ($request->get('ProductCategoryTranslation') as $key => $value) { $validateProductCategoryTranslation = Validator::make($value, ProductCategoryTranslation::$rules); if ($validateProductCategoryTranslation->fails()) { $validationMessages = array_merge_recursive($validationMessages, $validateProductCategoryTranslation->messages()->toArray()); } } if ($validateProductCategory->fails() or count($validationMessages) > 0) { $validationMessages = array_merge_recursive($validateProductCategory->messages()->toArray(), $validationMessages); return redirect()->back()->withErrors($validationMessages)->withInput(); } // get all languages $languages = Language::all(); // find language default $languageDefault = $languages->where('is_key_language', 1)->first(); if (is_null($languageDefault)) { $languageDefault = $languages->first(); } // sure execute success, if not success rollback DB::transaction(function () use($request, $languageDefault) { $user = $request->user(); // insert ProductCategory $productCategory = new ProductCategory(); $productCategory->key = Common::createKeyURL($request->input('ProductCategoryTranslation.' . $languageDefault->code . '.name')); $productCategory->parent_id = $request->input('ProductCategory.parent_id'); $productCategory->priority = $request->input('ProductCategory.priority'); $productCategory->is_publish = $request->input('ProductCategory.is_publish'); $productCategory->created_by = $user->name; $productCategory->updated_by = $user->name; $productCategory->save(); // save attachments if ($request->input('ProductCategory.attachments') != "") { $requestAttachments = explode(',', $request->input('ProductCategory.attachments')); $attachments = []; foreach ($requestAttachments as $key => $value) { array_push($attachments, new Attachment(['entry_id' => $productCategory->id, 'table_name' => 'product_categories', 'path' => $value, 'priority' => 0, 'is_publish' => 1])); } if (count($attachments) > 0) { $productCategory->attachments()->saveMany($attachments); } } // save data languages foreach ($request->get('ProductCategoryTranslation') as $locale => $value) { $productCategory->translateOrNew($locale)->name = $request->input('ProductCategoryTranslation.' . $locale . '.name'); $productCategory->translateOrNew($locale)->summary = $request->input('ProductCategoryTranslation.' . $locale . '.summary'); $productCategory->translateOrNew($locale)->meta_description = $request->input('ProductCategoryTranslation.' . $locale . '.meta_description'); $productCategory->translateOrNew($locale)->meta_keywords = $request->input('ProductCategoryTranslation.' . $locale . '.meta_keywords'); } $productCategory->save(); }); return redirect()->route('admin.productcategories.index'); }
/** * Store a newly created resource in storage. * * @return Response */ public function store() { $product_category = new ProductCategory(); $input = Input::all(); $rules = array('name' => 'required'); $validator = Validator::make($input, $rules); if ($validator->passes()) { $product_category->name = Input::get('name'); $product_category->save(); } return Redirect::action('ProductCategoryController@index'); }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $object = new Model(); $params = $request->only('active', 'order', 'img', 'desc_img', 'brand_id', 'url', 'ru_title', 'ru_description', 'ru_tech_description', 'ru_seo_title', 'ru_seo_keywords', 'ru_seo_description', 'en_title', 'en_description', 'en_tech_description', 'en_seo_title', 'en_seo_keywords', 'en_seo_description', 'ua_title', 'ua_description', 'ua_tech_description', 'ua_seo_title', 'ua_seo_keywords', 'ua_seo_description'); $params['active'] = $params['active'] ? true : false; $filter = $object->validator($params); if ($filter->fails()) { $error = $filter->errors()->toArray(); $brands = Brand::all(); return view('admin.product-category.create', ['input' => $params, 'brands' => $brands, 'error' => $error]); } if ($request->hasFile('img')) { $params['img'] = $this->upload('img'); } if ($request->hasFile('desc_img')) { $params['desc_img'] = $this->upload('desc_img'); } $params['alias'] = $this->makeAlias($params['ru_title']); $object->fill($params); $object->save(); return redirect('admin/product-category/' . $object->id . '/edit'); // return redirect('admin/product-category/'.$object->id); }