Php Laravel-如何使用数据透视表显示两个表的数据 共有三个表格:

Php Laravel-如何使用数据透视表显示两个表的数据 共有三个表格:,php,laravel,many-to-many,blade,Php,Laravel,Many To Many,Blade,- 用户(id,名称,电子邮件,密码) -角色(id,name) -用户角色(用户id,角色id) 我想做什么 从user\u roles获取user\u id,并使用foreach循环,显示从role分配给它的role\u id John Doe |经理 无名氏行政 编辑:回应安迪·霍姆斯的评论如下: 在用户模型中,存在以下关系,角色模型中存在相反的关系 public function roles(){ return $this->belongsToMany('App\R

-
用户
id
名称
电子邮件
密码

-
角色
id
name

-
用户角色
用户id
角色id

我想做什么 从
user\u roles
获取
user\u id
,并使用
foreach
循环,显示从
role
分配给它的
role\u id

John Doe |经理

无名氏行政

编辑:回应安迪·霍姆斯的评论如下:

用户
模型中,存在以下关系,
角色
模型中存在相反的关系

public function roles(){
        return $this->belongsToMany('App\Role')->withTimestamps();
    }

如果我正确理解了该场景,您应该能够直接从您的
模型
关系
访问该场景

您可以执行以下操作来访问用户的角色信息:


$user->roles
并将其放入循环中

我还没有编写查询(我或多或少会犹豫),但我的策略是让join语句整理结果。这是正确的方法吗?为了充分利用Laravel的潜力,您需要查看Laravel的关系文档:我建议您使用(多对多)关系。可能比加入更合适,因为您可能只想显示用户一次。我只是想说,如果您使用的是关系,您应该能够快速查询this@AndyHolmes,抱歉,之前应该提到这一点:
User
model:
public function roles()中存在关系{return$this->belongstomy('App\Role')->withTimestamps();}