2016-10-14 8 views
1

ページ区切りは最初のページで正しく機能します。 2つの名前が正しく表示されます。次のページで他の結果を見たい場合、現在のコードでは何も表示されません。静的配列を作成するとき:検索結果ページ区切りlarvel

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

異なるページに正しく配列が表示されます。 SQLクエリから配列を作成すると、次のページには何も表示されません。 私はvar_dumpを使いました.2番目のページでは、作成した配列の何も見えませんでした。

これは私のコントローラのコードです:

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 

答えて

1

私のコードでは、get()のpaginate()が変更されました。

0

私は次のコードはlaravelのドキュメントごとに改ページのリンクを表示することで、エラーを修正すべきだと思います。

の代わりに

{{ $users->links() }} 

ここ

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

ドキュメントのリンクです:私は解決策を見つける手助けしようとしますhttps://laravel.com/docs/5.3/pagination は、それが動作するかどうか、私に教えてくださいそうでない場合。

+0

動作しません。その奇妙な、私は静的な配列で同じことを行う、それは動作します。私はそれが私のSQLクエリによって間違っていると思う。私のクエリは、検索された単語と何が一致しているかチェックし、配列を作成します。たとえば、keyword = "te"で、クエリはデータベース内で "te"という名前を検索しています。その後、ループで配列に格納します。次のページをクリックすると、配列は空になります。 – jurh

関連する問題