/** * Дейстиве для редактированя группы категорий. * * @param Requests\StoreGroupsCategoriesRequest $request * @param $id * @return \Illuminate\Http\RedirectResponse */ public function postEdit(Requests\StoreGroupsCategoriesRequest $request, $id) { // Ищем и редактируем группу $groupCategory = $this->findGroupCategory($id); $groupCategory->title = trim($request->title); $groupCategory->description = trim($request->description); $groupCategory->enabled = $request->get('enabled', FALSE); // SEO $groupCategory->page_title = $request->page_title; $groupCategory->page_keywords = $request->page_keywords; $groupCategory->page_description = $request->page_description; $groupCategory->page_h1 = $request->page_h1; $groupCategory->save(); return redirect()->back()->with('success', 'Группа категорий успешно отредактирована.'); }
/** * Дейстиве для редактированя категорий. * * @param Requests\StoreGroupsCategoriesRequest $request * @param $id * @return \Illuminate\Http\RedirectResponse */ public function postEdit(Requests\StoreGroupsCategoriesRequest $request, $id) { // Ищем и редактируем категорию $category = $this->findCategory($id); $category->title = trim($request->title); $category->description = trim($request->description); $category->description_long = trim($request->description_long); $category->enabled = $request->get('enabled', FALSE); $oldGroupCategoryId = $category->group_category_id; $oldParentId = $category->parent_id; if ($request->get('group_category_id') != '') { $category->group_category_id = (int) $request->get('group_category_id'); } if ($request->get('parent_id') != '') { $category->parent_id = (int) $request->get('parent_id'); } else { $category->parent_id = NULL; } // Менять ли порядок if ($oldGroupCategoryId != $request->get('group_category_id', $oldGroupCategoryId) || $oldParentId != $request->get('parent_id', $oldParentId)) { // Изем категории со "старыми" group_category_id и parent_id $categories = Category::whereGroupCategoryId($oldGroupCategoryId)->where('order', '>', $category->order); // Есть ли родители или нет if ($oldParentId) { $categories->where('parent_id', '=', $oldParentId); } else { $categories->whereNull('parent_id'); } $categories = $categories->get(); // Уменьшаем порядок foreach ($categories as $item) { $item->order -= 1; $item->save(); } // Меняем порядок данной категории $category->order = Category::whereGroupCategoryId($category->group_category_id); // Есть ли родители или нет if ($category->parent_id) { $category->order->where('parent_id', '=', $category->parent_id); } else { $category->order->whereNull('parent_id'); } $category->order = $category->order->max('order') + 1; } // SEO $category->page_title = $request->page_title; $category->page_keywords = $request->page_keywords; $category->page_description = $request->page_description; $category->page_h1 = $request->page_h1; // Сохранение $category->save(); return redirect()->back()->with('success', 'Категория успешно отредактирована.'); }