Результаты поиска pagination laravel

Моя разбивка на страницы работает на первой странице правильно. Он отображает правильно 2 имени. Когда я хочу увидеть другие результаты на следующих страницах, он ничего не отобразит с моим текущим кодом. Когда я создаю статический массив:

 $searchResults = [
            'item1',
            'item2',
            'item3',
            'item4',
            'item5',
            ];

Он отобразит массив правильно на разных страницах. Когда я делаю массив из моего SQL-запроса, он ничего не отображает на следующих страницах. Я использовал var_dump, и на второй странице я ничего не видел в моем созданном массиве.

это мой код контроллера:

public function zoekdocument(Request $request) //voor het zoeken van software
{

$zoekdocument = Request::get('zoekdocument');

$searchResult = array();

$searchdoc = DB::table('visits')->where('title', 'LIKE', '%' . $zoekdocument . '%')->paginate();

foreach($searchdoc as $searchdocument){ 

    $filedir = $searchdocument->pagename; //wordt gedurende loop tot die finisht in de array gezet.

    $searchResult[] = $filedir; //dat wordt hier gedaan.
}

    $currentPage = LengthAwarePaginator::resolveCurrentPage();

    $page = $request->has('page') ? $request->get('page') : 1;

    //Create a new Laravel collection from the array data
    $collection = new Collection($searchResult);

    $perPage = 2;

   $currentPageSearchResults = $collection-> slice (($currentPage -1) * $perPage, $perPage)->all();
    //Create our paginator and pass it to the view
    $paginatedSearchResults= new 

LengthAwarePaginator($currentPageSearchResults, count($collection), $perPage, $page, ['path'  => $request->url(),'query' => $request->query(),

return view('Documentatie.result', ['results' => $paginatedSearchResults])->with('zoekdocument', $zoekdocument);

Это мой код:

@section('content')

<!-- Striped rows -->
<div class="panel panel-flat">
  <div class="panel-heading">
    <h5 class="panel-title text-center">Documentatie overzicht resultaat</h5>
    <div class="heading-elements">
    </div>
  </div>

  <div class="text-center">
    <h2>Zoekresultaat van: <b><i>{{$zoekdocument}}</b></i></h5>
    </div>  

 @foreach ($results as $result)
        <p>{{ $result }}</p>
    @endforeach

    <?php echo $results->render(); ?>




@endsection

php,arrays,laravel,search,pagination,

1

Ответов: 2


1 принят

Я изменил в своем коде, paginate () для get (), и теперь он работает.


0

Я думаю, что следующий код должен исправить ошибку, показывая ссылки на страницы в соответствии с документацией laravel:

{{ $users->links() }}

В месте

<?php echo $results->render(); ?>

Вот ссылка на документацию: https://laravel.com/docs/5.3/pagination. Сообщите мне, если это сработает, а если нет, я попытаюсь помочь найти решение.

PHP, массивы, Laravel, поиск, нумерация страниц,