Laravel Scout和Algolia Pagination麻烦

时间:2017-04-08 02:34:59

标签: laravel pagination algolia

我在Laravel 5.4中遇到分页问题。我使用Scout和algolia作为'驱动程序'。我正在分页的数据来自algolia,通过表单搜索提交,一切似乎都有效 - 直到我打了超过34页的结果。就我所知,前34页似乎工作得很好,但是在第34页之后,事情似乎向南。我是Laravel的新手,我喜欢不必从头开始编程分页的想法,但为什么会这样呢?

第1页结果:

看起来不错,一切似乎都有效

Page 1 die and dump

结果:

还在工作......

Page 34 die and dump

Page 35及以后:

34之后的所有内容都显示0结果......

Page 35 die and dump returns 0

这里我的控制器中有一个处理搜索的功能:

  public function search(Request $request)

    {

      $object = $request->input('query');

      $results = Item::search($object)->paginate(30);
      dd($results);

    }

<小时/> 接下来我有了模型:

namespace App;

use Laravel\Scout\Searchable;
use Illuminate\Database\Eloquent\Model;

class Item extends Model
{
    use Searchable;
}

有趣的事实

我注意到,如果我将paginate(30)更改为paginate(20),那么在失败之前我可以达到的最大页面是第50页。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,而且似乎是Algolia的1000项结果限制。 要通过他们的API传递它,需要设置paginationLimitedTo,但我不认为这可以通过侦察设置。

https://www.algolia.com/doc/api-client/php/parameters/paginationLimitedTo/#paginationlimitedto

我添加了一个问题here