Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.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 Laravel LeftJoin使用相似名称连接多个查询_Php_Laravel_Laravel 5_Eloquent - Fatal编程技术网

Php Laravel LeftJoin使用相似名称连接多个查询

Php Laravel LeftJoin使用相似名称连接多个查询,php,laravel,laravel-5,eloquent,Php,Laravel,Laravel 5,Eloquent,我需要在管理员列表(管理员表)中显示角色名称(角色表)。我使用leftJoinquery: $data = Admin::select('admins.*', 'roles.name') ->leftJoin('model_has_roles', 'model_has_roles.model_id', '=', 'admins.id') ->leftJoin('roles', 'roles.id', '=', 'model_has_roles.r

我需要在管理员列表(管理员表)中显示角色名称(角色表)。我使用
leftJoin
query:

   $data = Admin::select('admins.*', 'roles.name')
        ->leftJoin('model_has_roles', 'model_has_roles.model_id', '=', 'admins.id')
        ->leftJoin('roles', 'roles.id', '=', 'model_has_roles.role_id')
        ->get();
在动作
print\r($data)
中,我看到以下输出:

(
[id] => 1
[name] => administrator
[email] => m@m.com
[password] => $2y$10$7/HMHGIPIJ6FiNBLy.BynurEhcsrbWkbc4wFREN9qjAFGNqSdaFTS
[remember_token] => 
[created_at] => 2020-02-11 10:46:45
[updated_at] => 2020-02-11 10:46:45
[sex] => 
[dob] => 
[mobile] => 
[phone] => 
[address] => 
[street] => 
[city] => 
[district] => 
[state] => 
[country] => 
[photo] => 
[web] => 
[status] => New
[upload_folder] => 
[deleted_at] => 
)
这工作,但我看不到列表中的
管理员姓名
!在输出中,
角色名称
替换为
管理员名称
[name]=>管理员


如何解决此问题并显示
管理员表
+角色表名称中的所有值

您可以将您的
角色别名。名称如下

改变


您是否尝试过为您的角色别名。名称?例如$data=Admin::select('admins.*,'roles.name as RoleName')@Sehdev:Oh谢谢。请补充回答欢迎。我已经补充了。别忘了接受并投票表决答案。:)
$data = Admin::select('admins.*', 'roles.name')
$data = Admin::select('admins.*', 'roles.name as RoleName')