【问题标题】:Laravel 使用 OrderBy 分页
【发布时间】:2022-01-23 16:33:54
【问题描述】:

查询产品代码表时,我有以下内容

$results = Stock::orderBy('stk_physical', 'desc')->paginate(10);

这在 10 条记录的初始加载时工作正常,但是当对第 2 页进行后续调用时,我收到以下错误

Incorrect syntax near 'offset'. (SQL: select * from [stock_records] order by [stk_physical] desc offset 10 rows fetch next 10 rows only)

我正在使用带有 SQL 的 Laravel 8.0

【问题讨论】:

标签: laravel eloquent laravel-8


【解决方案1】:

您应该像这样将查询字符串附加到分页

$results = Stock::orderBy('stk_physical', 'desc')->paginate(10);

$results->appends(["order_by" => "stk_physical"]);

这会将&order_by=stk_physical 附加到视图中的每个链接,您还可以使用withQueryString() 在将来的分页中考虑查询字符串

$results = Stock::orderBy('stk_physical', 'desc')->paginate(10)->withQueryString();

【讨论】:

  • 感谢您的回答,我已尝试附加 order_by 参数,但仍然出现偏移错误。 Paginate 似乎在 MySQL 上运行良好,但我使用的是 SQL。
猜你喜欢
  • 1970-01-01
  • 2021-10-13
  • 2022-01-16
  • 2017-01-03
  • 2018-09-16
  • 2015-11-21
  • 2017-03-25
  • 1970-01-01
  • 2021-07-01
相关资源
最近更新 更多