【问题标题】:Order by relationship min max value Laravel Eloquent按关系最小最大值排序 Laravel Eloquent
【发布时间】:2018-05-08 16:54:25
【问题描述】:

我有航班模型和条款模型。

期限模型有价格列。

我想按照最低期限价格对航班进行排序。

在我的格斗模型中

public function terms()
{
    return $this->hasMany('App\Term');
}

public function termMinPrice()
{
    if($this->terms()->count() > 0){
        return $this->terms()->pluck('price')->min();
    } else{
        return 0;
    }
}

你怎么点这个?

【问题讨论】:

    标签: php laravel orm eloquent


    【解决方案1】:

    编辑答案 试试这个

    Flight::with('terms')->get()->sortByDesc('terms.price');
    

    【讨论】:

    • 感谢您的回答,但我想订购航班,而不是条款
    • 修改答案
    【解决方案2】:

    试试这个:

    Flight::with('terms')->get()->sortBy(function($flight) {
        return $flight->terms->min('price');
    });
    

    【讨论】:

      猜你喜欢
      • 2021-01-25
      • 2014-06-25
      • 2021-07-14
      • 2017-08-22
      • 1970-01-01
      • 2016-06-21
      • 2015-07-05
      • 2019-06-03
      • 2020-03-05
      相关资源
      最近更新 更多