我使用ProductCatRel模型建立了从类别模型到产品模型的“ hasMany”关系。
我正在尝试从类别模型订购产品。 “ where”条件很好,但是“ orderBy”不起作用。这是我的代码:
public function Products(){
return $this->hasMany(ProductCatRel::class,'category')
->with('Product')
->whereHas('Product', function($q){
$q->where('status', 1)->orderBy('position');
});
}
答案 0 :(得分:0)
使用以下代码段可能有效
public function products(){
return $this->hasMany(ProductCatRel::class,'category')
->with('Product')
->whereHas('Product', function($q){
$q->where('status', 1)
});
}
$products = App\Category::find(1)->products()->orderBy('position')->get();
答案 1 :(得分:0)
whereHas()
仅检查是否存在,并且不影响检索到的关系数据。
您应该以{{1}}方法应用orderBy()
。另外,您需要使用with()
方法重复状态检查。
with()