2016-09-14 6 views
0

Angenommen, ich habe eine Indexseite, die alle Daten in der Datenbank mit Paginierung anzeigt. Ich kann die korrekten Daten und die Seitennumerierung anzeigen, nachdem Benutzer die Suche durchgeführt haben, aber wenn ich auf die zweite Seite klicke, werden nicht die richtigen Daten angezeigt. HierLaravel 5 Verwendung der Multi-Paginierung auf einer Seite

public function getNewsletterSearch(Request $request) { 
     $keyword = $request->news_search; 
     $searchData = DB::table('tbl_contents') 
       ->join('tbl_files', function ($join) use($keyword) { 
        $join->on('tbl_contents.unique', '=', 'tbl_files.unique') 
        ->where('tbl_contents.record_type', '=', 'Newsletter') 
        ->where('tbl_contents.title', 'LIKE', '%' . $keyword . '%') 
        ->where('tbl_files.order_id', '=', 1); 
       }) 
       ->orderBy('tbl_contents.id', 'DESC') 
       ->select('tbl_contents.*', 'tbl_files.file_name') 
       ->paginate(6); 

     $searchData->setPageName('page_result'); 

     return view('newsletter.index')->with(['searchData' => $searchData])->with('search', $keyword); 
    } 

ist die Ansicht:

<div class = "col-xs-12"> 
      <nav aria-label = "Page navigation"> 
       {{with(new App\Pagination\CustomPresenter($searchData->appends('page_result', Illuminate\Support\Facades\Input::get('page_result'))))->render()}} 
      </nav> 
</div> 

Dies ist die Suchfunktion i erstellt. Kann ich aus dem Suchergebnis wissen, wie die richtigen Daten auf Seite 2 angezeigt werden?

Antwort

0

Hier ist die komplette Indexfunktion, die ich in meinem Suchszenario benutzt habe, um die notwendigen Änderungen zu sehen.

public function getNewsletterSearch() 
{ 
    $keyword = request()->get('news_search'); 

    $searchData = DB::table('tbl_contents') 
     ->join('tbl_files', function ($join) use($keyword) { 
      $join->on('tbl_contents.unique', '=', 'tbl_files.unique') 
      ->where('tbl_contents.record_type', '=', 'Newsletter') 
      ->where('tbl_contents.title', 'LIKE', '%' . $keyword . '%') 
      ->where('tbl_files.order_id', '=', 1); 
     }) 
     ->orderBy('tbl_contents.id', 'DESC') 
     ->select('tbl_contents.*', 'tbl_files.file_name'); 

    $searchData= $searchData->paginate(6)->appends(request()->query()); 
    return view('category.index',compact('searchData')); 
} 

in Ansichtsdatei

<div class="col-sm-12 col-md-12"><span class="pull-right">{{$searchData->links()}}</span></div> 
Verwandte Themen