/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { // delete $navigation = Nav::find($id); if (empty($navigation)) { return Redirect::to('admin/navigation')->with('success', Lang::get('admin.navigation_notfind')); } //delete all translation foreach ($navigation->i18n()->translations() as $translation) { if (!$translation->delete()) { return Redirect::to('admin/navigation')->with('error', Lang::get('admin.navigation_translation_delete_fail')); } } //equilibrate branche //here equilibrate orders of menu ! //if parentid = 0, set all else other ! $navigations = Nav::where('parent_id', $navigation->parent_id)->where('id', '<>', $navigation->id)->orderBy('order', 'ASC')->get(); for ($count_navigation = count($navigations), $i = 0; $i < $count_navigation; $i++) { $navigations[$i]->order = $i + 1; $navigations[$i]->save(); } //delete children if exists foreach ($navigation->children() as $child) { $child->delete(); } // delete if ($navigation->delete()) { //track user parent::track('delete', 'Navigation', $navigation->id); Cache::forget('DB_Nav'); return Redirect::to('admin/navigation')->with('success', Lang::get('admin.navigation_delete_success')); } return Redirect::to('admin/navigation')->with('success', Lang::get('admin.navigation_delete_fail')); }