1

我正在使用 Laravel 和 Ajax 的无限滚动分页系统。它的工作原理如下:

  • 我加载前 10 个结果,只需使用 Book::orderBy('created_at')->paginate(5);
  • 然后,通过 Ajax,我调用另一个函数,该函数必须返回接下来的 5 个值。但我不想要前 5 个值,只想要 5 个新值。

所以,我正在寻找类似的东西:

    $shown=10;
    $showPerPage=5;
   //The function that I am looking for
    Book::orderBy('created_at')->paginateFrom(10,5)

这将加载数字 10 之后的五本书。我见过Paginator::make(),但我有两个问题:首先,它需要所有现有值,所以我必须向数据库询问每个结果,这不是很有效,其次,我无法将数组传递给该函数,因为 Laravel 在您使用->get().

知道我该怎么做吗?

4

1 回答 1

1

我认为这可以解决:

$shown=10;
$showPerPage=5;
Book::orderBy('created_at')->skip($shown)->take($showPerPage)->get();

基本上,该skip方法添加OFFSET子句和take添加子句LIMIT

来源: http: //laravel.com/docs/queries

于 2014-07-10T16:57:14.513 回答