Php Laravel Eloquent使用筛选器获取嵌套子级
我有这些关系:Php Laravel Eloquent使用筛选器获取嵌套子级,php,laravel,eloquent,Php,Laravel,Eloquent,我有这些关系: 产品组合-产品(归属) 产品-库存(属于库存) 在透视表中,我在产品和库存之间有一个数量字段,用于保存产品的数量 我想获得所有包含产品的产品组合,这些产品必须有库存(数量>0) 这是我的密码: /** * Get available combos. * * @param $query * @return mixed */ public function scopeAvailable($query) { return $query->where('sta
- 产品组合-产品(归属)
- 产品-库存(属于库存)
/**
* Get available combos.
*
* @param $query
* @return mixed
*/
public function scopeAvailable($query)
{
return $query->where('status', 1)
->whereHas('products.inventories', function ($query) {
$query->where('quantity', '>', 0);
});
}
如果所有产品缺货(数量=0),该代码将起作用。如果组合中的一个产品的数量大于0,它将不再工作
谢谢大家! 您可以从查询中反转逻辑。您可以检索数量不等于零的产品,而不是检索数量大于零的产品
return$query->where('status',1)
->whereDoesntHave('products.inventory',函数($query){
$query->where('数量',0);
});
更多信息请点击此处:那么您想要的是所有产品均为
quantity>0
?@ChinLeung没错!