Laravel 拉雷维尔:雄辩的关系

Laravel 拉雷维尔:雄辩的关系,laravel,laravel-4,eloquent,relationship,Laravel,Laravel 4,Eloquent,Relationship,我有三个表“用户”、“角色”和“角色用户”。显然,用户表没有任何role\u id字段。因此,在“role\u users”表中通过role\u id和user\u id字段维护用户与角色的映射 我需要在用户模型和角色模型中编写什么关联来获取特定角色(例如“教师”)的所有用户的列表 以下是我目前在用户模型中所做的工作: public function teachers() { return $this->has_many('Role')->where('name','teac

我有三个表“用户”、“角色”和“角色用户”。显然,用户表没有任何role\u id字段。因此,在“role\u users”表中通过role\u id和user\u id字段维护用户与角色的映射

我需要在用户模型和角色模型中编写什么关联来获取特定角色(例如“教师”)的所有用户的列表

以下是我目前在用户模型中所做的工作:

public function teachers() {
    return $this->has_many('Role')->where('name','teacher');
}
这是行不通的,但我不明白我将如何在这个模型中建立关系


好的,但是当我在控制器中调用这个方法时,比如$users=User::with('teachers');回声“;打印(用户);出口然后页面继续加载,不显示结果。似乎有一些无限循环正在进行。我还需要在角色模型中编写任何东西吗?请指出这可能是因为在这种情况下,
print\r
的输出非常大。。。对于调试,请尝试
$users->toJson()
$users->toArray()
insteadDoes toArray()是一个内置的雄辩功能?您可以发送聊天邀请进行详细讨论吗?您可能希望执行以下操作:
User::has('teachers')->get()
。这将仅获取具有
教师
角色的用户。
public function teachers() {
    return $this->belongsToMany('Role')->where('name','teacher');
}