循环浏览这个多维数组,并在Laravel Blade中显示为项目列表



我有以下数组。我需要将与每个team_name相关的first_name显示为列表。

array:7 [▼
0 => array:6 [▶]
1 => array:6 [▼
"id" => 3
"team_name" => "Backend"
"description" => "Laravel is used"
"created_at" => "2021-05-29 07:17:32"
"updated_at" => "2021-05-31 02:16:50"
"get_employees" => array:4 [▼
0 => array:2 [▼
"team_name" => "Backend"
"first_name" => "Test1"
]
1 => array:2 [▼
"team_name" => "Backend"
"first_name" => "Test2"
]
2 => array:2 [▼
"team_name" => "Backend"
"first_name" => "Test3"
]
3 => array:2 [▼
"team_name" => "Backend"
"first_name" => "Test4"
]
]
]
2 => array:6 [▶]
3 => array:6 [▶]
4 => array:6 [▶]
5 => array:6 [▶]
6 => array:6 [▶]
]

就像这样。

Team name:- Backend  
People:- Test1, Test2, Test3, Test4

下面是我在blade.php中的代码块,但它给了我错误"正在尝试获取非对象的属性"team_name"。我尝试了几种方法,但未能创建循环。

@foreach($teamEmployees as $key => $teamArray){
{{$key->team_name}}
@foreach($teamArray as $team_Array)
{{$teamArray['get_employees'][0]['first_name']}}
@endforeach
}
@endforeach

这是我的控制器功能,如果它在任何情况下都有用的话。

public function teamsWithEmployee(){
$teamEmployees=Teams::with(['get_employees'=>function($query){
$query->select(['team_name','first_name']);
}])->get()->toArray();
dd ($teamEmployees);
return view('teams-employee', compact('teamEmployees'));
}

我是PHP和Laravel的新手。以前关于这种类型的问题并没有帮助我解决这个问题。请帮我一下。提前感谢

您必须访问'team_name'作为array键。您可以通过递归模板在嵌套数组中循环:

@foreach($projects as $project)
<div style="margin-left:10px;">
Team name: {{ $project['team_name'] }}
@if (array_key_exists('first_name', $project)
{{ $project['first_name'] }}
@end
@if(array_key_exists('get_employees', $project) && count($project['get_employees']))
@include('projects', [ 'projects' => $project['get_employees'] ])
@endif
</div>
@endforeach

最新更新