Laravel分页上不存在方法链接

时间:2018-08-22 07:47:19

标签: php laravel laravel-pagination

我正在尝试实现分页,并且在我添加 sortByDesc() 以及雄辩的查询之前,它都可以正常工作。

web.php(路由文件)

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

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

  

方法链接不存在

如果我从查询中删除了排序条件,它将很好地工作。

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

2 个答案:

答案 0 :(得分:4)

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

task setVersionTask(type: TaskA){
    pbxprojectFile project.file('foo.txt')
    doLast{
        getVersionTask.version = version
    }
}

task getVersionTask(type: TaskB){
    doFirst{
        println('version ' + getVersionTask.version)
    }
    dependsOn 'setVersionTask'
}

答案 1 :(得分:3)

扩展到@RossWilson所说的话。

sortBy是一个集合函数,而不是一个雄辩的函数,正确的雄辩函数是orderBy

另外,请参见simplePaginate(),就像执行get(), first(), find()一样。

您首先要下订单吗? ...如果要订购集合(使用sortBy),则可能是get,但是由于simplePaginate返回的集合与get()不会返回的集合相同,因此sortby不起作用。并可能弄乱了分页对象/集合。