2016-09-08 11 views
1


私はLaravelプロジェクトに委託を追加Laravel 5

のための1つの役割の委託役割ベースの権限に複数の権限を追加し、私は許可、attachPermission、assignRoleを作成し、ロールを作成することができます。

ここで、スーパー管理者ロールにこの権限[create-user、edit-user、remove-user、update-user]を追加するなど、複数の権限を1つのロールに添付したいとします。

public function attachPermission(Request $request){ 
     $role = Role::where('name', '=', $request->input('role'))->first(); 
     $permission = Permission::where('name', '=', $request->input('name'))->first(); 
     foreach ($permission as $pers){ 
      $role->attachPermissions($pers); 
     } 
      return response()->json("done"); 
    } 

このコードは、最後のアクセス許可を受け取ります。これはPostmanでテストしたバックエンドです。
なぜそれを行うのが最善でしょうか?助けてくれてありがとう。

答えて

2

まずあなたが役割に割り当てる権限取得:

$permissionNames = ['name1', 'name2', 'name3']; 

$permissions = Permission::whereIn('name', $permissionNames)->get(); 

をして、あなたは雄弁モデルの配列を受け入れattachPermissions()方法に$permissionsコレクションを渡すことができます。

$role->attachPermissions($permissions); 
関連する問題