Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在视图中显示对象和另一个表的属性_Php_Arrays_Laravel_Object - Fatal编程技术网

Php 如何在视图中显示对象和另一个表的属性

Php 如何在视图中显示对象和另一个表的属性,php,arrays,laravel,object,Php,Arrays,Laravel,Object,嗯,我使用的是laravel,我有两个表,一个用于用户,另一个用于角色,我在视图中显示了一个表,其中每个用户都有其属性以及关联的角色。问题是属性是id,显示的是角色表的id,如何显示角色名称而不是id 这是我获取用户列表的函数: public function index() { $users = User::latest()->get(); return view('users.index', [ 'users'=>$users, ]);

嗯,我使用的是laravel,我有两个表,一个用于用户,另一个用于角色,我在视图中显示了一个表,其中每个用户都有其属性以及关联的角色。问题是属性是id,显示的是角色表的id,如何显示角色名称而不是id

这是我获取用户列表的函数:

public function index()
{

    $users = User::latest()->get();
    return view('users.index', [
        'users'=>$users,
    ]);
}
在这个视图中,我构建了一个表来显示属性,在role_id属性中,我只有与role表关联的数字。当我真的需要显示姓名的时候

            @foreach($users as $user)
                <tr>
                    <td>{{$user->name}}</td>
                    <td>{{$user->last_name}}</td>
                    <td>{{$user->age}}</td>
                    <td>{{$user->DOB}}</td>
                    <td>{{$user->height}}</td>
                    <td>{{$user->role_id}}</td>
                    <td><a href="{{$user->path_edit()}}">Edit</a> <a href="/users/{{$user->id}}/destroy" > - Delete </a></td>

                </tr>
            @endforeach
这是数据库:


使用角色表与用户建立关系。在您的用户模型中编写以下代码

    public function role()
    {
        return $this->belongsTo(Role::class);
    }
在视图文件中使用它

<td>{{$user->role->name}}</td>

关于关系的更多信息:您还需要检查用于互连模型的属性名称。您可以这样显式地指定它们:$this->belongsToRole::class,'role_id','id';