Php 以最低的价格在综合区设立法院

Php 以最低的价格在综合区设立法院,php,laravel,Php,Laravel,我有运动综合体和许多复合体中的CORT。 所以我想用它的最小价格来选择复合物 Complex1 court1 -price 2500 court2 - price 3000 Complex2 court1 -price 5000 court2 -price 1500 Result: Complex2(1500),Complex1(2500) DB: 我试过了 get all complexes to special sport type $

我有运动综合体和许多复合体中的CORT。 所以我想用它的最小价格来选择复合物

Complex1   court1 -price 2500
           court2  - price 3000
Complex2   court1 -price 5000
           court2 -price 1500
Result: Complex2(1500),Complex1(2500)
DB:

我试过了

get all complexes to special sport type
$complexes = $sporttype->complexes;

ids of complexes        
$complexesIDs=$complexes->pluck('sc_id'); 

wanna order 
$array=\App\Models\Courts::whereIn('c_complex_id', $complexesIDs)->orderBy('c_cost')->get()->unique('c_complex_id ')

这似乎很容易解决,您的sporttype类中可能有此问题(我甚至不知道这是否是一个类):

您可以创建一个新函数,以按成本对复合体进行排序:

public function complexesOrdered(){
    return $this->hasMany('App\Complex')->orderBy('c_cost');
}
另一种解决方案是将您的关系作为函数进行跟踪,以便您可以“重新查询”它:

干杯

编辑:

你必须再建立一种关系才能实现这一目标:

在您的复杂类中:

在控制器中:


请解释您的问题。@DorianTurba我只得到一个复杂的Complex2(1500)
请解释您的问题。
在您的问题中:)但是复杂的没有成本。它有许多法院有民事诉讼费。不幸的是,你的代码无法检查我的编辑是否有效!考虑到我不知道你们的关系如何。它可能会起到类似的作用,干杯!
public function complexes(){
    return $this->hasMany('App\Complex');
}
public function complexesOrdered(){
    return $this->hasMany('App\Complex')->orderBy('c_cost');
}
$complexes = $sporttype->complexes()->orderBy('c_cost');
public function courts(){
    return $this->hasMany('App\Court');
}
public function cheapCourt(){
    return $this->hasMany('App\Court')->orderBy('c_cost');
}
complex->cheapCourt->first();