public function addCategory($data_arr) { if (list($left_id, $right_id, $level) = $this->getNodeInfo($data_arr['parent_category_id'])) { ProductCategory::where('category_right', '>=', $right_id)->update(array("category_left" => \DB::raw('IF(category_left > ' . $right_id . ',category_left + 2,category_left)'), "category_right" => \DB::raw('IF(category_right >= ' . $right_id . ',category_right + 2, category_right)'))); $data_input_arr['seo_category_name'] = $data_arr['seo_category_name']; $data_input_arr['category_name'] = $data_arr['category_name']; $data_input_arr['category_description'] = $data_arr['category_description']; $data_input_arr['category_meta_title'] = $data_arr['category_meta_title']; $data_input_arr['category_meta_description'] = $data_arr['category_meta_description']; $data_input_arr['category_meta_keyword'] = $data_arr['category_meta_keyword']; $data_input_arr['category_level'] = $this->getCategoryLevel($data_arr['parent_category_id']); $data_input_arr['category_left'] = $right_id; $data_input_arr['category_right'] = $right_id + 1; // available sort by options $available_sort_by_options = ''; if ($data_arr['use_all_available_sort_options'] == 'Yes') { $available_sort_by_options = 'all'; } $data_input_arr['available_sort_options'] = $available_sort_by_options; $data_input_arr['date_added'] = \DB::raw('NOW()'); $data_input_arr['parent_category_id'] = $data_arr['parent_category_id']; $data_input_arr['status'] = $data_arr['status']; $img_arr = array(); if (\Input::hasFile('category_image')) { $file = \Input::file('category_image'); $image_ext = $file->getClientOriginalExtension(); $image_name = \Str::random(20); $destinationpath = \URL::asset(\Config::get("webshoppack::product_category_image_folder")); $img_arr = $this->uploadCategoryImage($file, $image_ext, $image_name, $destinationpath, 0, 'add'); } $category_id = ProductCategory::insertGetId(array_merge($data_input_arr, $img_arr)); return $category_id; } }
public function insertRootCategory() { $id = 0; $root_count = ProductCategory::whereRaw('category_level = 0 AND parent_category_id = 0')->count(); if ($root_count > 0) { $result = ProductCategory::Select('id')->whereRaw('category_level = 0 AND parent_category_id = 0')->first(); $id = $result['id']; } else { $arr['seo_category_name'] = "Root"; $arr['category_left'] = 1; $arr['category_right'] = 2; $arr['category_level'] = 0; $id = ProductCategory::insertGetId($arr); } return $id; }