如何在foreach中访问Laravel集合的关联属性并格式化展示数据
解决方案
1. 修正控制器查询逻辑
你当前用get()查询会返回项目集合(哪怕只有1条匹配数据),按ID查询单个项目建议改用first()直接获取项目模型实例:
$project = Project::with('pulls.builds')->where('id',$id)->first();
2. 调整视图嵌套循环代码
需要分层遍历pulls和嵌套的builds关联,按你要的输出格式,视图代码修改为:
{{ $project->name }} @foreach($project->pulls as $pull) <br> {{ $pull->branch }} <br> @foreach($pull->builds as $build) {{ $build->description }} @endforeach @endforeach
如果需要更规范的HTML结构,也可以用块元素实现换行:
<h2>{{ $project->name }}</h2> @foreach($project->pulls as $pull) <div style="margin: 15px 0;"> <div>{{ $pull->branch }}</div> @foreach($pull->builds as $build) <div>{{ $build->description }}</div> @endforeach </div> @endforeach
内容的提问来源于stack exchange,提问作者cinameng
相关产品推荐
相关产品推荐

