truncate(); // DB::table('admin_role_users')->truncate(); AdminUser::truncate(); $user = AdminUser::create([ 'username' => 'admin', 'password' => bcrypt('admin'), 'name' => 'Administrator', ]); AdminRole::truncate(); $role = AdminRole::create([ 'name' => 'Administrator', 'slug' => 'administrator', ]); $user->roles()->attach($role); // $menus = AdminMenu::all()->toArray(); // // $permissions = []; // foreach ($menus as $menu) { // $_httpPath = $menu['url_type'] == AdminMenu::TYPE_ROUTE ? $this->getHttpPath($menu['url']) : ''; // // $permissions[] = [ // 'id' => $menu['id'], // 'name' => $menu['title'], // 'slug' => 'permission_'.$menu['id'], // 'http_path' => json_encode($_httpPath ? [$_httpPath] : ''), // 'order' => $menu['order'], // 'parent_id' => $menu['parent_id'], // 'created_at' => $menu['created_at'], // 'updated_at' => $menu['updated_at'], // ]; // } // // AdminPermission::query()->truncate(); // AdminPermission::query()->insert($permissions); // // DB::table('admin_permission_menu')->truncate(); // foreach ($permissions as $item) { // $query = DB::table('admin_permission_menu'); // $query->insert([ // 'permission_id' => $item['id'], // 'menu_id' => $item['id'], // ]); // // $_id = $item['id']; // while ($item['parent_id'] != 0) { // (clone $query)->insert([ // 'permission_id' => $_id, // 'menu_id' => $item['parent_id'], // ]); // // $item = AdminMenu::query()->find($item['parent_id']); // } // } } private function getHttpPath($uri) { $excepts = ['/', '', '-']; if (in_array($uri, $excepts)) { return ''; } if (! str_starts_with($uri, '/')) { $uri = '/'.$uri; } return $uri.'*'; } }