1

我正在尝试实现分页,它工作得非常好,直到我加上sortByDesc()我雄辩的查询。

web.php(路由文件)

Route::get('/', function(){
  $posts = Post::simplePaginate(5)->sortByDesc("post_id"); 
  //sortByDesc("post_id") this causes the problem
}

当我{{ $posts->links() }}在指定视图中为分页准备视图时,出现以下错误-

方法链接不存在

如果我从查询中删除排序条件,它会完美运行。

这种行为背后的原因是什么?

4

2 回答 2

4

尝试将排序放在查询而不是分页上:

Post::orderBy('post_id', 'desc')->simplePaginate(5);
于 2018-08-22T07:50:49.517 回答
3

延伸到@RossWilson 所说的内容。

sortBy是集合函数,不是 eloquent 函数,正确的 eloquent 函数是orderBy.

另外,看看simplePaginate()你是否正在执行一个get(), first(), find().

你会先把 get 或 order 放在什么位置?...如果您想订购一个集合(带有sortBy),也许 get ,但由于simplePaginate不返回 aget()将返回的同一个集合,sortby因此不起作用。并且可能会弄乱分页对象/集合。

于 2018-08-22T08:14:10.423 回答