获得具有当前角色的用户

时间:2014-05-26 14:41:50

标签: php laravel eloquent

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

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

所有neede关系都在模型中进行,从用户到角色有一对多,用户可以同时拥有多个角色。

我想知道是否有人可以帮助我使用eloquent获取当前日期在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表开始时,我现​​在可以如何过滤用户。

1 个答案:

答案 0 :(得分:1)

尝试使用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 />';
}