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();