【发布时间】:2014-01-12 15:24:10
【问题描述】:
我正在将现有的 REST API 迁移到 Laravel 4.1,该 API 当前使用 offset 作为查询字符串参数来指定记录的偏移量 .
我想使用默认的 Eloquent 的 paginate(),但是这些搜索是 page 查询字符串参数。当然,它使用页码(如 2)而不是偏移量(如 200)。
有没有一种简单的方法可以针对这种情况配置paginate 函数?还是我需要使用->skip() 和->take() 函数并自己制作下一页的链接?
@Anam:我想用:
$warehouses = Warehouse::orderBy('name')
->paginate($perpage);
这适用于http://example.org/api/warehouses?page=2,但我希望它适用于http://example.org/api/warehouses?offset=200
有了我可以使用的偏移量:
$warehouses = Warehouse::orderBy('name')
->skip($offset)
->take($perpage)
->get();
但是我不能对 API 和 Web 视图使用相同的控制器。因此,我希望通过某种方式使第一个工作正常。
【问题讨论】:
-
你能分享一些示例代码吗?
-
只要把 $perpage = Input::get('perpage');并在 url 中加入 ?perpage=200 ?
标签: php pagination laravel laravel-4