【发布时间】:2017-05-12 05:09:13
【问题描述】:
我的刀片模板中有这个标记:
<th>Name</th>
@foreach($camp->athletes as $athlete)
@foreach($athlete->kickoffs as $key=>$kickoff)
<th>D#{{ ($key+1) }}</th>
<th>H#{{ ($key+1) }}</th>
@endforeach
@endforeach
<th>Avg. Distance</th>
<th>Avg. Hang Time</th>
<th>Score</th>
当我只有一个运动员时,这非常有效。但是,当我开始添加更多内容时,很明显我将为每个运动员重复 <th> 元素。我得到的是这样的东西:
<th>D#1</th>
<th>H#1</th>
<th>D#2</th>
<th>H#2</th>
<th>D#1</th>
<th>H#1</th>
<th>D#2</th>
<th>H#2</th>
我完全理解为什么会出现这样的重复 - 不过我不知道如何避免这种情况。就像我需要这样做:
...
<th>Name</th>
@foreach($athlete->kickoffs as $key=>$kickoff)
<th>D#{{ ($key+1) }}</th>
<th>H#{{ ($key+1) }}</th>
@endforeach
<th>Avg. Distance</th>
...
这样我只能得到这个输出:
<th>D#1</th>
<th>H#1</th>
<th>D#2</th>
<th>H#2</th>
但我不能像那样直接访问$athlete 变量。
【问题讨论】:
-
创建一个按照您希望它们出现的顺序的标题列表,并为您的标题迭代该列表。然后,您可以使用该数组迭代运动员的每一行并以相同的顺序访问键:`foreach ($columns as $column) echo $athlete->{$column};
-
好吧,我并没有完全使用您的解决方案 - 但它确实引发了一个想法,让我找到了解决方案,所以谢谢!
-
很高兴我能帮助@damon。
标签: laravel laravel-5 laravel-5.3 laravel-blade