2013-08-02 38 views
4

如何用laravel分頁增加行號?當我使用分頁,我去到第2頁和上面,它會回到開始。例如我會分頁(3)用laravel分頁增加行號

<thead> 
    <tr> 
     <th>No</th> 
     <th>Name</th> 
    </tr> 
    </thead> 
    <tbody> 
    <?php $i = 1; ?> 
    @foreach ($telephone->results as $telp) 
    <tr> 
     <td> 
     {{$i++}} 
     </td> 
     <td>{{ $telp->name }}</td>        
    </tr> 
    @endforeach 
    </tbody> 

當我去第2頁時,數字將從1開始。

我需要它,當我去第2頁就開始從4

回答

5

您應該能夠使用getFrom方法來獲得當前網頁的搜索結果的起始編號。所以,而不是設置$i = 1;你應該能夠做到這一點。

<?php $i = $telephone->getFrom(); ?> 

在Laravel 3沒有getFrom方法,所以你需要手工計算。

<?php $i = ($telephone->page - 1) * $telephone->per_page + 1; ?> 
+0

謝謝你請你注意以下工作。順便說一下,當我使用getForm方法我得到錯誤調用未定義的方法Laravel \ Paginator :: getFrom() – user2194246

+0

我使用laravel 3 – user2194246

+0

對不起,假設L4。我已經更新了我的答案,以包含L3變體。 –

0

或避免PHP標籤完全

@foreach ($users as $key => $user) 
    {{ (Input::get('page', 1) - 1) * $users->getPerPage() + $key + 1 }} 
@endforeach 
3

Laravel 5.3

@foreach ($products as $key=>$val) 
    {{ ($products->currentpage()-1) * $products->perpage() + $key + 1 }} 
@endforeach 
4

在Laravel 5.3,你可以使用firstItem()

@foreach ($items as $key => $value)  
    {{ $items->firstItem() + $key }} 
@endforeach 
1

你可以簡單地添加以下行

$i = ($telephone->currentpage()-1)* $telephone->perpage(); 

代替

$i = 1; 
2

與laravel 5.4

<?php $i = ($telephone->currentpage()-1)* $telephone- 
>perpage() + 1;?> 
@foreach($telephone as $whatever) 
<td> {{ $i++ }}</td> 
@endforeach