Laravel: Eloquent 关系

Laravel: Eloquent Relationship

我有三个 table "users"、"roles" 和 "role_users"。显然,用户 table 没有任何 role_id 字段。因此,通过具有 role_id 和 user_id 字段,在 "role_users" table 中维护用户与角色的映射。

我需要在用户和角色模型中编写什么关联来获取特定角色的所有用户的列表,例如'teacher'?

这是我目前在用户模型中所做的:

public function teachers() {
    return $this->has_many('Role')->where('name','teacher');
}

这行不通,但我不明白我将如何在此模型中建立关系。

Laravel docs - many to many relation

public function teachers() {
    return $this->belongsToMany('Role')->where('name','teacher');
}