2016-10-28 3 views
0

spatie/Laravel 사용 권한이 필요합니다. 할당하려고 할 때 오류가 발생합니다. 뭐가 잘못되었나 봅니다. Connection.php 라인Laravel spatie/laravel-permissions

$role= new Role; 
    $n=count($request['permission_id']); 
    //dd($count); 
    for($i=0; $i< $n ; $i++) 
    { 
     $role->givePermissionTo('9'); 
    } 

오류

QueryException 761 : SQLSTATE [23000] 무결성 제약 위반 : 널 (SQL 수 없습니다 'ROLE_ID'1048 칼럼 : role_has_permissions (permission_id, role_id) 값을 삽입 이미 그 역할이있는 경우 (9))

+1

을 할당 (당신은 이름을 얻으려면)하지만 당신에게 역할을 저장해야 할 것 같습니다 DB를 다른 사람에게 할당 할 수 있습니다. – user3158900

+0

DB에 일부 역할을 저장했습니다. –

+0

하지만 새 역할을 만듭니다. '$ role = new Role; '은 이미 저장된 모델과 아무 관련이 없습니다. 귀하의 코드가 그다지 의미가 없습니다. 요청에서 전달한 숫자 (X)를 계산 한 다음 저장하지 않은 역할을 사용자 9에게 X 회 반복합니다. –

답변

1

은 그냥 같이 그것을 얻을해야합니다

$role = Role::find($id); 

또는

$role = Role::where('name', '=' , $name)->get(); 

을하고 내가 spatie에 익숙하지 않다 허가

$role->givePermissionTo('name of the permission');