71 lines
2.5 KiB
PHP
71 lines
2.5 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use Illuminate\Database\Seeder;
|
|
use DB;
|
|
use Dcat\Admin\Models\Menu as AdminMenu;
|
|
|
|
class AdminMenusSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function run()
|
|
{
|
|
//
|
|
$menus = [
|
|
['title' => '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);
|
|
}
|
|
}
|
|
}
|
|
}
|