/** * Remove the specified subcategory from storage. * * @param Request $request * @param int $id * @return \Illuminate\Http\Response */ public function destroy(Request $request, $id = null) { /* * -------------------------------------------------------------------------- * Delete subcategory * -------------------------------------------------------------------------- * Check if selected variable is not empty so user intends to select multiple * rows at once, and prepare the feedback message according the type of * deletion action. */ if (!empty(trim($request->input('selected_sub')))) { $subcategory_ids = explode(',', $request->input('selected_sub')); $delete = Subcategory::whereIn('id', $subcategory_ids)->delete(); $message = Lang::get('alert.subcategory.delete_all', ['count' => $delete]); } else { $subcategory = Subcategory::findOrFail($id); $message = Lang::get('alert.subcategory.delete', ['subcategory' => $subcategory->subcategory]); $delete = $subcategory->delete(); } if ($delete) { return redirect(route('admin.category.index'))->with(['status' => 'warning', 'message' => $message]); } else { return redirect()->back()->withErrors(['error' => Lang::get('alert.error.database')]); } }
/** * Remove the specified category from storage. * * @param Request $request * @param int $id * @return \Illuminate\Http\Response */ public function destroy(Request $request, $id = null) { /* * -------------------------------------------------------------------------- * Delete category * -------------------------------------------------------------------------- * Check if selected variable is not empty so user intends to select multiple * rows at once, and prepare the feedback message according the type of * deletion action. */ if (!empty(trim($request->input('selected')))) { $delete = DB::transaction(function () use($request) { try { $category_ids = explode(',', $request->input('selected')); $delete_subcategory = 0; if ($request->input('selected_sub') != '') { $subcategory_ids = explode(',', $request->input('selected_sub')); $delete_subcategory = Subcategory::whereIn('id', $subcategory_ids)->delete(); } $delete = Category::whereIn('id', $category_ids)->delete(); return $delete + $delete_subcategory; } catch (\Exception $e) { return redirect()->back()->withErrors(['error' => Lang::get('alert.error.transaction')])->withInput(); } }); $message = Lang::get('alert.category.delete_all', ['count' => $delete]); } else { $category = Category::findOrFail($id); $message = Lang::get('alert.category.delete', ['category' => $category->category]); $delete = $category->delete(); } if ($delete instanceof RedirectResponse) { return $delete; } if ($delete) { return redirect(route('admin.category.index'))->with(['status' => 'warning', 'message' => $message]); } else { return redirect()->back()->withErrors(['error' => Lang::get('alert.error.database')]); } }