将范围链接到分页方法

时间:2017-05-29 14:50:41

标签: laravel pagination laravel-5.2

我正在尝试将范围链接到分页方法,但我反而为该方法获取了badmethodcallexception;

$products = Product::paginate(3)->forstore();

forstore方法就是范围。

public function scopeForstore($query) {
  ...
}

如何实现所需的结果,即为分页查询添加范围?

2 个答案:

答案 0 :(得分:3)

->paginate(x)->get()->first() ...方法结束查询。他们告诉查询是时候返回结果(他们返回集合或模型)。你正在做的是在集合上调用范围而不是查询。

交换它们:

$products = Product::forstore()->paginate(3);

答案 1 :(得分:2)

您应该在调用paginate函数之前直接在构建器上应用范围,如下所示:

Product::forstore()->paginate(3);