2015-08-27 3 views
2

Я использую paginator из Laravel для отображения 100 результатов на страницу. В передней части каждой строки в настоящее время отображается идентификатор поля базы данных. Тем не менее, я хочу отобразить счетчик.Laravel 5.1 номер разбивки на страницы

I've found some threads on stackoverflow solving this issue for Laravel 4

Где они говорят, вы должны решить, как этот

<?php $count = $players->getFrom(); ?> 
@foreach ($players as $player) 
    <tr> 
     <td>{{ $count++ }}. </td> 
    </tr> 
@endforeach 

или как этот

<?php $count = $players->getFrom() + 1; ?> 
@foreach ($players as $player) 
    ... 

Проблема здесь, является то, что Laravel 5,1 не имеет getForm метод больше. upgrade guide говорит, чтобы заменить getFrom на firstItem, что я и сделал. К несчастью, я не получаю правильные цифры.

Я попробовал, как этот

и как этот

{{ $count = $pages->firstItem() }} 
@foreach ($pages as $page) 
    @include('pages.singlepagebasic') 
@endforeach 

//pages.singlebasic.blade.php

{{ $count ++ }} 

, но мой сайт всегда отображается только номер «2» вместо подсчета. Как мне это достичь?

ответ

3

Просто используйте это, чтобы получить кол-страниц

$players->lastPage() 

или это, чтобы получить число пунктов

$players->total() 

Если вы хотите подсчитывать каждую запись не делают {{$ кол ++}}, так как его гулкой данных. Вместо этого сделать, как этот

<?php $count++; ?> 
{{ $count }} 
+0

Это не то, что я хочу. Я хочу текущий номер записи. Предположим, у меня есть 100 предметов. Затем я хочу сделать foreach над этими элементами и отобразить текущий номер рядом с ним. Итак, 1,2,3,4,5 и т. Д. – Musterknabe

+0

Я отредактировал мой вопрос. Проблема в том, что вы пытаетесь использовать ECHO $ ​​count ++, вот что {{}}. –

1

Прежде всего получить 100 игроков с paginate(100) методом, то вы можете получить индекс или рассчитывать следующим образом:

<?php $count = 1; ?> 
@foreach ($players as $player) 
    <tr> 
     <td>{{$players ->perPage()*($players->currentPage()-1)+$count}}</td> 
    </tr> 
<?php $count++; ?> 
    @endforeach 

Здесь {{$players ->perPage()*($players->currentPage()-1)+$count}} напечатает индекс или рассчитывать как 1 до 100 на первой странице и от 101 до 200 на следующей странице и так далее.

0

Что я имел обыкновение делать, чтобы избежать PHP теги в шаблонах лопастных в 4.2 было что-то вроде этого

@foreach ($players as $key => $player) 
<tr> 
    <td>{{ (Input::get('page', 1) - 1) * $players->getPerPage() + $key + 1 }}. </td> 
</tr> 
@endforeach 

Это своего рода странно, но это будет делать трюк.

0

Если вы хотите использовать Laravel 5 Петли itration

`@foreach ($players as $player) 
    <tr> 
     <td>{{$players->perPage()*($players->currentPage()-1)+$loop->iteration}}</td> 
    </tr> 
@endforeach` 

Надеется, что это помогает.