获取具有当前角色的用户


Get users with current role

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

*****************           *****************
*   Users       *           *   User_roles  *
*****************           *****************
*   id          *I----+     *   id          *
*   name        *     +----K*   user_id     *
*   password    *           *   role_id     *
*****************           *   start_date  *
                            *   stop_date   *
                            *****************

所有需要的关系都在模型中建立,从用户到角色是一对多的,一个用户可以同时拥有多个角色。

我想知道是否有人可以帮助我获得在role_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');
}

我想知道当我从User_roles表开始时,我现在如何过滤用户

尝试使用Zizaco Confide和Entrust,我喜欢它们:)2个易于安装和使用的软件包。

如果我对你当前的代码:

//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 />';
}