Laravel 加载 hasMany + BelongsToMany 的关系查询
Laravel Relationship Query to load hasMany + BelongsToMany
我需要在特定 collection
页面中获取 brands
数据,但只有超过 1 个 product
。
以下是模型之间的关系。
Brand -> HasMany -> Product
Product <= BelongsToMany => Collection
我能够为所有 collection 获取具有超过 1 个产品的品牌数据,如下所示:
$brands = Brand::has("products")->get(); //this will return all brands that have more than 1 product.
现在我需要在这里添加collection限制。
我可以从 $slug
获取特定页面的 collection。
$collection = Collection::where("slug", $slug)->first();
任何人都可以帮助我如何为特定 collection 页面获取品牌吗?
试试这个:
$brands = Brand::has("products")
->whereHas('products.collections',function($q) use ($slug){ // your relation to product model
$q->where("slug", $slug);
})
->get();
我需要在特定 collection
页面中获取 brands
数据,但只有超过 1 个 product
。
以下是模型之间的关系。
Brand -> HasMany -> Product
Product <= BelongsToMany => Collection
我能够为所有 collection 获取具有超过 1 个产品的品牌数据,如下所示:
$brands = Brand::has("products")->get(); //this will return all brands that have more than 1 product.
现在我需要在这里添加collection限制。
我可以从 $slug
获取特定页面的 collection。
$collection = Collection::where("slug", $slug)->first();
任何人都可以帮助我如何为特定 collection 页面获取品牌吗?
试试这个:
$brands = Brand::has("products")
->whereHas('products.collections',function($q) use ($slug){ // your relation to product model
$q->where("slug", $slug);
})
->get();