Php 获取具有当前角色的用户

Php 获取具有当前角色的用户,php,laravel,eloquent,Php,Laravel,Eloquent,我正在使用Laravel创建一个网站,我有一个与雄辩的问题。我有一个数据库方案如下: ***************** ***************** * Users * * User_roles * ***************** ***************** * id *I----+ * id * * name * +

我正在使用Laravel创建一个网站,我有一个与雄辩的问题。我有一个数据库方案如下:

*****************           *****************
*   Users       *           *   User_roles  *
*****************           *****************
*   id          *I----+     *   id          *
*   name        *     +----K*   user_id     *
*   password    *           *   role_id     *
*****************           *   start_date  *
                            *   stop_date   *
                            *****************
模型中建立了所有的需求关系,从用户到角色有一对多的关系,一个用户可以同时拥有多个角色

我想知道是否有人可以帮助我使用Elount获得当前日期处于角色_id 3的所有用户。我似乎无法使用关系或创建连接

更新: 现在,我已经创建了表之间的关系,我从user_roles表开始

这是我的模型中的代码:

// User.php
public function user_roles()
{
    return $this->hasMany('UserRole', 'user_id');   
}

// UserRole.php
public function user() 
{
    return $this->belongsTo('User', 'user_id');
}

我想知道现在如何从用户角色表开始筛选用户。

尝试使用Zizaco-Confide和trust,我爱他们:)2个易于安装和使用的软件包

如果im适合您当前的代码:

//Class roles
public function getUsers(){
    return $this->hasMany('User');
}


//In the controller:
$role = Role::find(role_id_here);

foreach($role->getUsers AS $user){
    echo $user.'<br />';
}
//类角色
公共函数getUsers(){
返回$this->hasMany('User');
}
//在控制器中:
$role=role::find(此处为role\u id\u);
foreach($role->getUsers AS$user){
echo$user.“
”; }
当然!谢谢你,我一直在想另一个问题,从用户表开始。今晚我将对此进行测试,并让您知道它是否有效。:)但是有一个问题,是否可以这样在用户表上放置另一个筛选器?无法回答您关于筛选器的问题。。。以前从未使用过,但我会在Tomorrow查看文档。我找到了解决方案,我必须使用
whereHas
。如图所示: