Laravel Blade中循环多维数组按团队展示对应成员列表报错如何解决
错误原因排查
- 你调用了
toArray()将查询结果转换为纯数组,不能用->语法访问对象属性,必须用数组下标[]取值 - 外层循环中
$key是数组的数字索引,不是团队数据,团队信息存储在循环值$teamArray中 - 内层循环逻辑错误,不需要循环团队本身的字段,直接提取
get_employees下的所有first_name拼接即可
正确实现代码(适配你当前转数组的逻辑)
@foreach($teamEmployees as $teamArray) Team name:- {{ $teamArray['team_name'] }} People:- {{ implode(', ', array_column($teamArray['get_employees'], 'first_name')) }} @endforeach
可选优化方案
如果你控制器中去掉->toArray(),直接传递集合对象到视图,代码可读性更高:
控制器修改:
public function teamsWithEmployee(){ $teamEmployees=Teams::with(['get_employees'=>function($query){ $query->select(['team_name','first_name']); }])->get(); return view('teams-employee', compact('teamEmployees')); }
对应Blade代码:
@foreach($teamEmployees as $team) Team name:- {{ $team->team_name }} People:- {{ $team->get_employees->pluck('first_name')->implode(', ') }} @endforeach
内容的提问来源于stack exchange,提问作者pghasandi
相关产品推荐
相关产品推荐

