【问题标题】:orderBy-querybuilder and pagination in laravel 5laravel 5 中的 orderBy-querybuilder 和分页
【发布时间】:2018-09-16 09:53:49
【问题描述】:

我正在尝试在我的查询中创建一个 orderBy 并为画廊中的项目进行分页,但是 laravel 不是对完整的查询进行排序,而是按页排序内容,所以如果我订购 desc 它只能工作1 页,当我转到下一页时,我可以发现值真的不同(有序,但与第一页无关)。

这是我的查询:

    $product = DB::table("product")
        ->leftJoin("provider","product.provider_id","=","provider.id")
        ->orderBy("daily_sales","DESC")
        ->select('product.*','provider.comercial_name')
        ->paginate(6);

【问题讨论】:

  • 因为分页函数使用了limit和offset
  • 请提供一些带有预期和实际结果的样本数据。
  • 阅读这里的文档laravel.com/docs/5.6/…,如果你正在使用关系,你可以试试package for sorting
  • 您发现哪些值不同?
  • 在我的第一页中,我得到了从 88 到 60 的值 orderes,但在第二页中,我得到了从 160 到 120 的值

标签: laravel


【解决方案1】:

你可以试试:

$product = DB::table("product")
        ->leftJoin("provider","product.provider_id","=","provider.id")
        ->select('product.*','provider.comercial_name')
        ->orderBy("daily_sales","DESC") 
        ->paginate(6);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-25
    • 2021-10-13
    • 2016-01-22
    • 2015-08-06
    • 2022-01-16
    • 2022-01-23
    • 2015-09-05
    • 2016-01-21
    相关资源
    最近更新 更多