【问题标题】:Laravel: Order mysql extracted data by mutatorLaravel:通过mutator订购mysql提取的数据
【发布时间】:2015-09-08 16:02:03
【问题描述】:

a previous question 我(我们,因为你们帮助了我)做了一个 mutator 来为我从数据库获得的结果添加一列。

现在我的问题是:如何按 created 属性对结果进行排序?

就是这样:

public function getRatingAttribute()
{

    return $this->reviews()
        ->selectRaw('AVG(reviews.rating) as aggregate')
        ->pluck('aggregate');

}

【问题讨论】:

  • 如果包含有用信息,请提供上一个问题的链接。此外,最好以问题的形式重新表述,以便清楚您在问什么。
  • 感谢@Sean 的建议。我按照你的建议添加了信息。

标签: php mysql laravel eloquent mutators


【解决方案1】:

DB 无法为您排序,因为在主 sql 请求完成后获取了 mutator 数据。您需要使用 Collection 方法在 php 中对结果进行排序,例如$my_results->sortByDesc('rating');

如果您需要使用分页,那么这是一个大问题,您可能最好使用连接而不是修改器。

【讨论】:

    猜你喜欢
    • 2017-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-18
    • 2013-01-06
    • 2022-01-21
    • 2015-01-27
    • 2020-09-08
    相关资源
    最近更新 更多