1
0
Fork 0
party-rank-server/database/seeders/PermissionSeeder.php

59 lines
2.1 KiB
PHP

<?php
namespace Database\Seeders;
use Illuminate\Support\Facades\DB;
use Slowlyo\OwlAdmin\Models\AdminPermission;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Illuminate\Support\Arr;
class PermissionSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
DB::table('admin_permissions')->truncate();
DB::table('admin_role_permissions')->truncate();
$list = [
['name' => '主页', 'slug' => 'dashboard'],
['name' => '支部管理', 'slug' => 'party_cate', 'children' => [
['name' => '全部', 'slug' => 'party_cate_all'],
]],
['name' => '党员管理', 'slug' => 'party_user'],
['name' => '审核评定', 'slug' => 'user_score'],
['name' => '信息管理', 'slug' => 'article'],
['name' => '广告管理', 'slug' => 'banner'],
['name' => '党员排名', 'slug' => 'user_rank'],
['name' => '支部排名', 'slug' => 'cate_rank'],
['name' => '书记信箱', 'slug' => 'feedback'],
['name' => '系统管理', 'slug' => 'system', 'children' => [
['name' => '用户管理', 'slug' => 'admin_user'],
['name' => '角色管理', 'slug' => 'admin_role'],
['name' => '权限管理', 'slug' => 'admin_permission'],
['name' => '菜单管理', 'slug' => 'admin_menu'],
['name' => '字典管理', 'slug' => 'keyword'],
['name' => '配置管理', 'slug' => 'admin_setting'],
]],
];
$this->createByTree($list);
}
protected function createByTree($list, $parent = null)
{
foreach ($list as $index => $item) {
$params = Arr::except($item, ['children']);
$params['order'] = $index + 1;
$params['parent_id'] = $parent ? $parent->id : 0;
$model = AdminPermission::create($params);
if ($children = data_get($item, 'children')) {
$this->createByTree($children, $model);
}
}
}
}