2015-05-09 26 views
5

Tôi muốn có số hàng động trong một bảng như thế này.Số hàng động trong Laravel Blade

number name 
1  Devy 

Mẫu Blade này của tôi.

<thead> 
     <th>number</th> 
     <th>name</th> 
</thead> 
<tbody> 
    @foreach ($aaa as $value) 
     <tr> 
      <td></td> 
      <td>{{$value->name}}</td> 
     </tr> 
    @endforeach 
</tbody> 

Tôi làm như thế nào?

+0

Bạn có thể sử dụng tên = "myname []" – Grumpy

Trả lời

5

này là đúng:

@foreach ($collection as $index => $element) 
      {{$index}} - {{$element['name']}} 
    @endforeach 

Và bạn phải sử dụng chỉ số + 1 vì chỉ số bắt đầu từ 0.

Sử dụng PHP liệu theo quan điểm không phải là giải pháp tốt nhất . Ví dụ:

<tbody> 
    <?php $i=1; @foreach ($aaa as $value)?> 

    <tr> 
     <td><?php echo $i;?></td> 
     <td><?php {{$value->name}};?></td> 
    </tr> 
    <?php $i++;?> 
<?php @endforeach ?> 

trong trường hợp của bạn:

<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> 
+0

trừ khi bộ sưu tập $ (hoặc $ aaa) có số chỉ mục tùy chỉnh như id bản ghi có thể không được tăng hoặc lọc. – smozgur

3

Sử dụng một bộ đếm và tăng giá trị của nó trong vòng lặp:

<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> 
0

Chỉ cần một biến trước foreach() như $i=1. Và tăng $i ngay trước khi foreach() kết thúc. Vì vậy bạn có thể echo $i trong mong muốn <td></td>

0

hãy thử như sau:

<thead> 
    <th>number</th> 
    <th>name</th> 
</thead> 
<tbody> 
    @foreach ($aaa as $index => $value) 
     <tr> 
      <td>{{$index}}</td> 
      <td>{{$value}}</td> 
     </tr> 
    @endforeach 
</tbody> 
0

Sử dụng biến $ loop

tham khảo liên kết này Loop Variable

Các vấn đề liên quan