Невозможно разбить данные на страницы в Laravel - PullRequest
2 голосов
/ 20 февраля 2020

Я успешно извлек данные и отобразил их в списке таблиц, но в моем списке нет стр. страница. Мои данные поступают из API.

enter image description here

Мой контроллер

 public function index()
    {


        $response =  $this->client->get('getUserIndex')->getBody();
        $content = json_decode($response->getContents(),true);

        $collection = new \Illuminate\Support\Collection($content);

        $total = count($collection['data']);

        $paginationRecord = CollectionPaginate::paginate($collection, $total, 15);


         return view('configuration.comuserprofiles.ComUserProfilesList', compact('paginationRecord'));
}

половина моего представления таблицы

   @foreach($paginationRecord as $i=>$user)

                            @foreach($user as $i => $u)

                             @php

                                $currentRecordno = 1;
                           // dd($u['irel__com_access_level']['ID']);
                            @endphp  

                            <tr>


                                <td>{{ $currentRecordno + $i }}</td>
                                 <td>{{ $u['ID'] }}</td>
                             <td>{{ $u['NICK_NAME'] }}</td>
                             <td>{{ $u['PWD_INVALID_HIT'] }}</td>

                         </tr>
                         @endforeach

мой клинок для нумерации страниц

<div class="row row-pagination">
    <div class="col-sm-6 text-left">
        <small class="text-muted inline m-t-sm m-b-sm"><font color="#00000f">{{ $paginationRecord->total() }} record/s found </font></small> 
    </div>
    <div class="col-md-6 text-right text-center-xs">
        <ul>
            {{ $paginationRecord->links() }}
        </ul>
    </div>
</div>  

Я ожидаю отображения 15 записей на странице

Ответы [ 2 ]

2 голосов
/ 20 февраля 2020

Используйте take() Метод коллекции для получения спецификаций c количество элементов

$paginationRecord = CollectionPaginate::paginate($collection->take(15), $total, 15);

Вы также можете использовать forPage().

$page = Illuminate\Pagination\Paginator::resolveCurrentPage() ?: 1;
$paginationRecord = new Illuminate\Pagination\LengthAwarePaginator($collection->forPage($page, 15), $total, 15, $page);
0 голосов
/ 21 февраля 2020

уже решено добавлением ['data'] в $ content в контроллере

$content = $content['data'];


...