按关系排序最小值最大值Laravel Eloquent

时间:2018-05-08 16:54:25

标签: php laravel orm eloquent

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

期限模型有价格栏。

我想按最低价格顺序对航班进行排序。

在战斗模型中我有

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;
    }
}

你如何订购?

2 个答案:

答案 0 :(得分:0)

修改答案 试试这个

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

答案 1 :(得分:0)

试试这个:

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