'Index', 'icon' => 'feather icon-bar-chart-2', 'url' => '/', 'order'=>1], ['title' => '商品管理', 'icon' => 'fa-shopping-cart', 'url' => '', 'order'=>2, 'children' => [ ['title' => '商品分类', 'icon' => '', 'url' => 'goods_categories', 'order'=>3], ['title' => '商品类型', 'icon' => '', 'url' => 'goods_types', 'order'=>4], ['title' => '商品列表', 'icon' => '', 'url' => 'goods', 'order'=>5] ], ], ['title' => '订单管理', 'icon' => 'fa-file-text', 'url' => '', 'order'=>3, 'children' => [ ['title' => '快速下单', 'icon' => '', 'url' => 'orders/create', 'order'=>1], ['title' => '订单列表', 'icon' => '', 'url' => 'orders?pay_status=1', 'order'=>2], ], ], ['title' => 'Admin', 'icon' => 'feather icon-settings', 'url' => '', 'order'=>4, 'children' => [ ['title' => 'Users', 'icon' => '', 'url' => 'auth/users', 'order'=>1], ['title' => 'Roles', 'icon' => '', 'url' => 'auth/roles', 'order'=>2], ['title' => 'Permission', 'icon' => '', 'url' => 'auth/permissions', 'order'=>3], ['title' => 'Menu', 'icon' => '', 'url' => 'auth/menu', 'order'=>4], ], ], ]; DB::table('admin_menu')->truncate(); try { DB::begintransaction(); $this->createMenus($menus); DB::commit(); } catch (Throwable $th) { DB::rollBack(); report($th); } } public function createMenus(array $menus, $pid = 0) { foreach ($menus as $menu) { $mm = AdminMenu::create([ 'title' => $menu['title'], 'icon' => $menu['icon'], 'uri' => $menu['url'], 'parent_id' => $pid, 'order' => $menu['order'] ?? 0, ]); if (isset($menu['children'])) { $this->createMenus($menu['children'], $mm->id); } } } }