0
User
모델에서 where 절을 만들어서 Group
특수한 사용자 만 얻으려고합니다.Where 절에서 관계
테이블이 group_user
인데, 이는 다 대다 테이블입니다.
그룹이 Admin
인 모든 사용자를 내 보내야합니다.
어떻게 Eloquent Relationship 방법을 사용하여 필터링 할 수 있습니까?
User
모델에서 where 절을 만들어서 Group
특수한 사용자 만 얻으려고합니다.Where 절에서 관계
테이블이 group_user
인데, 이는 다 대다 테이블입니다.
그룹이 Admin
인 모든 사용자를 내 보내야합니다.
어떻게 Eloquent Relationship 방법을 사용하여 필터링 할 수 있습니까?
whereHas 메서드를 사용하여 관계를 쿼리 할 수 있습니다.
User::whereHas('group', function($query){
$query->where('name', 'Admin');
})->get();
이렇게하면 Admin과 관련된 그룹이있는 사용자 만 반환됩니다.
참고 사항 : 사용자 모델 내의 그룹과 관계를 그룹의 관계 이름으로 이미 설정했다고 가정합니다.
관계를 설정하려면 사용자 모델에서 다음을 사용하십시오. here 더 이동에 대한
public function group(){
return $this->belongsToMany('Group', 'group_user', 'user_id', 'group_id');
}
.