我正在使用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表开始时,我现在可以如何过滤用户。
答案 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 />';
}