当前位置: 首页 > 知识库问答 >
问题:

Laravel雄辩的模型ManyToMany用他们的角色获得所有用户

詹高畅
2023-03-14

亲爱的人们。

最近,我开始更多地使用Laravel模型和雄辩的关系,而不是编写原始查询。

public function roles()
{
    return $this->belongsToMany('App\Role', 'users_has_roles', 'Users_id', 'Roles_role_id');
}
    public function users()
{
    return $this->belongsToMany('App\User', 'users_has_roles', 'Roles_role_id', 'Users_id');
}
$users = User::with('roles')->get();
foreach ($users as $user) {
echo $user."<br>";
}

问题:我无法访问表“roles”的任何字段变量。$user->roles->role_name或role_description。

共有1个答案

郭乐意
2023-03-14

$user->roles是一个角色数组,因此您应该相应地访问它们:

foreach ($user->roles as $role) {
    echo $role->role_name;
}
 类似资料:
  • 我在一个有这种结构的拉威尔项目中工作 用户:id | first | u name |。。。 角色:id|name 分配的角色:id |用户id |角色id 我认为这是很明显的:p 用户模型 角色模型 我正在寻找一种方法来获取所有具有指定角色(在本例中为“教师”)的用户。我试过这个: 但这总是返回一个包含所有用户的数组。 有人知道为什么会这样吗?谢谢

  • 我试图通过使用Laravel Eloquent获得数据,但我无法访问。无论何时尝试,它都显示尝试获取非对象的属性“name” 我有两个模型。类别和文章。类别有许多文章。以下是模型: 类别模型 文章模式 物品管理员 查看刀片(admin.article.pending) 在这里的刀片,我不能访问类别通过雄辩的属于功能,我没有得到背后的原因得到的消息: ErrorException(E_ERROR)试

  • 我被一个简单的任务困住了。我只需要这通电话的结果 其中,是一个模型。我试过这个 但它不起作用。从表中获取所有数据并对其进行排序的更好方法是什么?

  • 我试着补充: 并用调用,但响应为空。

  • 我正在构建一个客户端应用程序,它需要在服务器API响应中包含相关模型的ID。 在我的例子中,我有两个模型,一个Post和一个Tag模型。它们之间的关系是多对多的,所以需要一个数据透视表。 我在路径上设置了一个resourcefull控制器,如下所示: 这将返回一个非常像这样的响应: 我要寻找的是一种在响应中包含相关标签模型ID的简单方法,如下所示:

  • 我搜索了以下内容:,但没有找到任何内容。 JDA版本: