本节数据填充类的代码压缩了一下,删了好些行
class SeedRolesAndPermissionsData extends Migration
{
public function up()
{
Permission::create(['name'=> 'manage_contents']);
Permission::create(['name'=> 'manage_users']);
Permission::create(['name'=> 'edit_settings']);
Role::create(['name'=> 'Founder'])
->givePermissionTo('manage_contents', 'manage_users', 'edit_settings');
Role::create(['name'=> 'Maintainer'])
->givePermissionTo('manage_contents');
}
public function down()
{
$tables= config('permission.table_names');
DB::table($tables['permissions'])->delete();
DB::table($tables['roles'])->delete();
}
}
创建站长并授权的4行代码采用链式写法压缩成1行;删掉了unguard()和reguard();在回滚操作里面仅仅清空了permissions表和roles表,其它几张表貌似可以连带清空(不确定)。
//下面这样的链式写法竟然也能生效!不禁想起了 jQuery
User::first()->assignRole('Founder')
->update([
'name'=> 'zhaiduting',
'email'=> 'zhaiduting@163.com',
]);
Laravel 5.5安装的permission版本为2.38.0,删掉了forgetCachedPermissions()
没有报错
推荐文章: