为角色授予多个权限 - Spatie

sha*_*dip 2 laravel laravel-permission

我们如何一次为一个角色分配多个权限?

    $permission1 = Permission::create(['name' => 'Create Client']);
    $permission2 = Permission::create(['name' => 'View Invoice']);
    $permission3 = Permission::create(['name' => 'Add Product']);

    $role = Role::findById(1);

    $role->givePermissionTo($permission1);
Run Code Online (Sandbox Code Playgroud)

在上面,我只授予第一个权限。

由于这也是通过实现的, $role->syncPermissions($permissions); 我很困惑 $permission 如何包含多个权限?

请问有什么建议吗?

Jer*_*dev 7

看来您可以将数组传递给givePermissionTo,因此您可以执行以下操作:

$permission1 = Permission::create(['name' => 'Create Client']);
$permission2 = Permission::create(['name' => 'View Invoice']);
$permission3 = Permission::create(['name' => 'Add Product']);

$role = Role::findById(1);
$role->givePermissionTo([$permission1, $permission2, $permission3]);
Run Code Online (Sandbox Code Playgroud)