2015-05-09 15 views
5

Chcę dynamicznej liczby wierszy w tabeli w ten sposób.Dynamiczna liczba wierszy w Laravel Blade

number name 
1  Devy 

Ten szablon mojego ostrza.

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

Jak to zrobić?

+0

Można używać nazwy = "myname []" – Grumpy

Odpowiedz

5

ta jest poprawna:

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

i należy użyć indeks + 1, ponieważ indeks zaczyna się od 0.

Korzystanie surowego PHP zdaniem nie jest najlepszym rozwiązaniem . Przykład:

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

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

w przypadku:

<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

, chyba że $ collection (lub $ aaa) ma niestandardową numerację indeksu, taką jak id rekordu, która może nie być inkrementowana lub filtrowana. – smozgur

3

użyć licznika i zwiększyć swoją wartość w pętli:

<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

Wystarczy zmienną przed foreach() jak $i=1. I zwiększa się $i tuż przed końcem foreach(). W ten sposób można echo $i w żądanym <td></td>

0

spróbuj wykonać następujące czynności:

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