forgetCachedPermissions(); $data = $this->data(); foreach ($data as $value) { $permission = Permission::create([ 'name' => $value['name'], 'permission_group_id' => $value['group'], ]); $role = Role::find(1); $role->givePermissionTo($permission); } $this->call([ GenderSeeder::class, BloodSeeder::class, ReligionSeeder::class, EducationSeeder::class, WorkSeeder::class, MaritalSeeder::class, RelationshipSeeder::class, CardSeeder::class, CountrySeeder::class, ProvinceSeeder::class, CitySeeder::class, ]); } public function data() { $data = []; // list of model permission $model = ['master']; $permissionGroup = PermissionGroup::create([ 'name' => 'master' ]); foreach ($model as $value) { foreach ($this->crudActions($value) as $action) { $data[] = ['name' => $action, 'group' => $permissionGroup->id]; } } return $data; } public function crudActions($name) { $actions = []; // list of permission actions $crud = ['create', 'read', 'update', 'delete']; foreach ($crud as $value) { $actions[] = $name . '.' . $value; } return $actions; } }