2014-09-12 5 views
0

나는 많은 시간을 보냈지 만, 어떤 이유로이 시간에 작업 할 수없는 것처럼 보입니다. 사용자가 있으며 권한이 있습니다. 권한 테이블, 사용자 테이블 및 users_permissions 테이블이 있습니다. users_permissions 테이블에는 users 테이블의 일련의 ID와 permissions 테이블의 일련의 사용 권한 ID가 있습니다. .FOR 예 :
1, 1
1, 2
1, 3
2, 1
2, 3
및 등등 ... 기본적으로, 나는Laravel 4 많은 관계에서 하나의 레코드를 삭제하십시오.

$up = UserPermissions::where('user_id','=',$userid)->where('permission_id','=',$permissionid)->first(); 
$up->delete(); 

이렇게 그것을 얻지 만 레코드를 ID가 없기 때문에 $ up-> delete() 할 수 있습니다. 테이블을 수정하지 않고도이 작업을 수행 할 수 있습니까? 감사!

Nick 
+0

아이디 $ 사용자 ID와 사용자의 권한을 모두 제거하십시오. UserPermissions :: where ('user_id', '=', $ uid) -> 여기서 ('permissions_id', '=', $ pid) -> delete(); – segFault42

답변

0

은 당신의 관계는 제대로 정의되어 있다고 가정하면 :

아이디 $ 사용자 ID와 사용자의 아이디 $의 permissionid과 권한을 제거하려면 UserPermission.php

class UserPermission extends Eloquent 
{ 
    public function users() 
    { 
     return $this->belongsToMany('User'); 
    } 
} 

에서

class User extends Eloquent 
{ 
    public function permissions() 
    { 
     return $this->belongsToMany('UserPermission'); 
    } 
} 

User.php에서는 필요하다면

User::find($userid)->permissions()->detach($permissionid); 

내가 그것을 알아 냈

User::find($userid)->permissions()->detach(); 
관련 문제