所以我有一个products
表和一个categories
表以及一个pivot
表。
产品(products
)
- id
- 姓名
类别(categories
)
- id
- 姓名
CategoryProduct (category_product
)
- category_id
- product_id
我希望获得属于某个类别的所有产品,我已设法通过执行以下查询来获取它:
$products = Category::find(3)->products;
但是如何从产品型号中访问它?
$products = Product::?
答案 0 :(得分:0)
您需要whereHas
子句。 https://laravel.com/docs/5.4/eloquent-relationships#querying-relationship-existence
$products = Product::whereHas('categories', function ($query) {
return $query->where('id', 3);
})->get();
或者你可以用连接代替它。
$products = Product::select('products.*')
->join('category_product', 'products.id', '=', 'category_product.product_id')
->where('category_product.category_id', 3)
->groupBy('products.id')
->get();