public function save() { $attr = Attribute::findOrNew(Input::get('id')); $attr->attr = Input::get('attr'); $attr->attr_type = Input::get('attr_type'); $attr->is_filterable = Input::get('is_filterable'); $attr->save(); $attr->attributesets()->sync(Input::get('attr_set')); foreach (Input::get('option_name') as $key => $val) { $attrval = AttributeValue::findOrNew(Input::get('idd')[$key]); $attrval->option_name = Input::get('option_name')[$key]; $attrval->option_value = Input::get('option_value')[$key]; $attrval->is_active = Input::get('is_active')[$key]; $attrval->sort_order = Input::get('sort_order')[$key]; $attrval->attr_id = $attr->id; $attrval->save(); } return redirect()->route('admin.attrs.view'); }
public function updateWithoutStock() { $prod = Product::find(Input::get("prod_id")); $prods = []; foreach (Input::get("id") as $key => $val) { foreach ($val as $i => $v) { array_push($prods, ["attr_id" => $key, "attr_val" => $v, "price" => Input::get("price")[$key][$i], "is_avail" => Input::get("is_avail")[$key][$i]]); } } foreach ($prods as $key => $prd) { $args = ['product' => $prod->product . ' - Variant - ' . AttributeValue::find($prd['attr_val'])->option_name, 'is_avail' => $prd['is_avail'], 'parent_prod_id' => $prod->id, 'is_individual' => 0, 'prod_type' => 1, 'attr_set' => $prod->attr_set, 'price' => $prd['price']]; $newConfigProduct = Product::create($args); $newConfigProduct->attributes()->attach($prd['attr_id'], ["attr_val" => $prd['attr_val']]); } $view = !empty(Input::get('return_url')) ? redirect()->to(Input::get('return_url')) : redirect()->route("admin.products.upsell.related", ['id' => $prod->id]); return $view; }
public function update4() { //dd(Input::all()); $prod = Product::find(Input::get("prod_id")); $attributes = AttributeSet::find($prod->attributeset['id'])->attributes()->where("is_filterable", "=", "1")->get()->toArray(); $prods = []; foreach ($attributes as $value) { foreach (Input::get($value["id"]) as $key => $val) { !isset($prods[$key]) ? $prods[$key] = [] : ''; $prods[$key]["options"][$value["id"]] = $val; } } foreach (Input::get("price") as $key => $val) { !isset($prods[$key]) ? $prods[$key] = [] : ''; $prods[$key]["price"] = $val; } foreach (Input::get("stock") as $key => $val) { !isset($prods[$key]) ? $prods[$key] = [] : ''; $prods[$key]['stock'] = $val; } foreach (Input::get("is_avail") as $key => $val) { !isset($prods[$key]) ? $prods[$key] = [] : ''; $prods[$key]['is_avail'] = $val; } //dd($prods); foreach ($prods as $key => $prd) { // dd($prod->product); $newConfigProduct = Product::create(['product' => $prod->product . ' - Variant - ' . ($key + 1), 'is_avail' => 1, 'parent_prod_id' => $prod->id, 'is_individual' => 0, 'prod_type' => 1, 'attr_set' => @$prod->attr_set, 'price' => @$prods[$key]['price'], 'stock' => @$prods[$key]['stock'], 'is_avail' => @$prods[$key]['is_avail']]); // dd($newConfigProduct); $attributes = AttributeSet::find($newConfigProduct->attributeset['id'])->attributes; // dd( $attributes); $newConfigProduct->attributes()->sync($attributes); // dd($newConfigProduct); $name = $prod->product . ' - Variant ( '; foreach ($prd["options"] as $op => $opt) { $opt = trim($opt); $optionName = AttributeValue::find($opt)->option_name; $name .= "{$optionName}, "; DB::update(DB::raw("update has_options set attr_val = '{$opt}' where attr_id = {$op} and prod_id = " . $newConfigProduct->id)); } $name = rtrim($name, ", "); $name .= " )"; $newConfigProduct->product = $name; $newConfigProduct->update(); } //dd($newConfigProduct); // $view = !empty(Input::get('return_url')) ? redirect()->to(Input::get('return_url')) : redirect()->route("admin.products.updateUpsellRelatedProds", ['id' => $prod->id]); return redirect()->route("admin.products.updateUpsellRelatedProds", ['id' => $prod->id]); }