Laravel Blade中的动态行数

时间:2015-05-09 17:15:32

标签: php laravel blade

我希望像这样的表中有动态的行数。

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>

我该怎么做?

8 个答案:

答案 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开始