我正在使用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 />';
}