雄辩多对多,双面都有过滤器

时间:2013-06-05 17:54:09

标签: orm filter many-to-many laravel eloquent

我一直在阅读文档,但我不知道该怎么做。http://doc.laravelbook.com/eloquent/#many-to-many

假设我有一个用户,角色和数据透视表。 我为角色和用户设置了belongsToMany

在控制器中,我想获取user_id并返回它们仅具有特定类型的角色。 (还有一个角色类型表,但我可以直接使用ID。)

我开始这样的事情

 $specific_type_role = Role::where('role_type_id', 3)::where(?$user_id?)

 //need to involve
 $circle_users = RoleUser::where('user_id', $user_id)->get();

但我认为它应该可以自动完成。不知道如何在查询中包含过滤器。

1 个答案:

答案 0 :(得分:1)

不确定是否是您所需要的,但您可能会做到这样的事情:

public function getAdminRoles()
{

    $user = User::find(1);

    return $user->roles()->where('role_type_id', 1)->get();

}