Laravel分页不适用于封闭

时间:2018-02-19 21:06:58

标签: laravel pagination eloquent closures

我正在尝试使用Laravel实现搜索功能。这是我应该返回搜索结果的方法:

$keyword = request('q');
$posts = Post::where('deleted', false)
                            ->where(function($q) use($keyword) {
                                        $q->where('title', 'like', '%' . $keyword . '%')
                                        ->orWhere('body', 'like', '%' . $keyword . '%');
                                    })     
                            ->latest()
                            ->paginate(5);

问题是,当我搜索超过5个结果的内容时,它会显示链接中的前5个结果和2个(例如)页面,但是当我点击第二个页面时,链接中有3个页面和某些页面这些帖子是重复的。我猜测封闭导致了这个问题,但我不知道如何修复它。

欢迎任何建议,谢谢! :)

1 个答案:

答案 0 :(得分:0)

由于您正在使用请求中的数据,因此您需要将其附加到下一个请求中才能使用:

{{ $posts->appends(['q' => request('q')])->links() }}

来自the docs

  

您可以使用appends方法附加到分页链接的查询字符串。

相关问题