我希望像这样的表中有动态的行数。
number name
1 Devy
这是我的Blade模板。
<thead>
<th>number</th>
<th>name</th>
</thead>
<tbody>
@foreach ($aaa as $value)
<tr>
<td></td>
<td>{{$value->name}}</td>
</tr>
@endforeach
</tbody>
我该怎么做?
答案 0 :(得分:9)
这是正确的:
@foreach ($collection as $index => $element)
{{$index}} - {{$element['name']}}
@endforeach
你必须使用索引+ 1,因为索引从0开始。
在视图中使用原始PHP不是最佳解决方案。例如:
<tbody>
<?php $i=1; @foreach ($aaa as $value)?>
<tr>
<td><?php echo $i;?></td>
<td><?php {{$value->name}};?></td>
</tr>
<?php $i++;?>
<?php @endforeach ?>
在你的情况下:
<thead>
<th>number</th>
<th>name</th>
</thead>
<tbody>
@foreach ($aaa as $index => $value)
<tr>
<td>{{$index}}</td> // index +1 to begin from 1
<td>{{$value}}</td>
</tr>
@endforeach
</tbody>
答案 1 :(得分:3)
使用计数器并在循环中增加其值:
<thead>
<th>number</th>
<th>name</th>
</thead>
<tbody>
<?php $i = 0 ?>
@foreach ($aaa as $value)
<?php $i++ ?>
<tr>
<td>{{ $i}}</td>
<td>{{$value->name}}</td>
</tr>
@endforeach
</tbody>
答案 2 :(得分:2)
使用$ loop variable
请参阅此链接Loop Variable
答案 3 :(得分:2)
尝试使用$loop->iteration
变量。
`
<thead>
<th>number</th>
<th>name</th>
</thead>
<tbody>
@foreach ($aaa as $value)
<tr>
<td>{{$loop->iteration}}</td>
<td>{{$value}}</td>
</tr>
@endforeach
</tbody>
`
答案 4 :(得分:0)
只需在foreach()
$i=1
之前选择一个变量。在$i
结束之前增加foreach()
。因此,您可以在所需的echo $i
<td></td>
答案 5 :(得分:0)
尝试以下方法:
<thead>
<th>number</th>
<th>name</th>
</thead>
<tbody>
@foreach ($aaa as $index => $value)
<tr>
<td>{{$index}}</td>
<td>{{$value}}</td>
</tr>
@endforeach
</tbody>
答案 6 :(得分:0)
从Laravel 5.3开始,这变得更加容易。只需在给定循环中使用$ loop对象。您可以访问$ loop-> index或$ loop-> iteration。检查以下答案:https://laracasts.com/discuss/channels/laravel/count-in-a-blade-foreach-loop-is-there-a-better-way/replies/305861
答案 7 :(得分:0)
您可以在Blade中像这样使用它。我希望这会有所帮助。
<thead>
<th>number</th>
<th>name</th>
</thead>
<tbody>
@foreach ($aaa as $index => $value)
<tr>
<td>{{$index +1}}</td>
<td>{{$value}}</td>
</tr>
@endforeach
</tbody>
注意: {{$index +1}}
由于$index
从0开始