Laravel 5如何在一个页面中使用多重分页

时间:2016-09-14 08:45:09

标签: laravel-5

让我们说我有一个索引页面,用分页显示数据库中的所有数据。我可以在用户执行搜索后显示正确的数据和分页,但是当我点击第二页时,它没有显示正确的数据。

 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);
    }

以下是观点:

<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>

这是我创建的搜索功能。我可以从搜索结果中知道在第2页上显示正确数据的解决方案是什么?

1 个答案:

答案 0 :(得分:0)

这是我在搜索场景中使用的完整索引函数,看一看并进行必要的修改。

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'));
}
视图文件中的

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