我如何查询关系并仍然包含没有关系的模型?有两种模式
存储
产品
码
// Store
public function products() {
$this->belongsToMany('App\Store');
}
// Product
public function stores() {
$this->belongsToMany('App\Product');
}
和一个用于连接它们的数据透视表,名为product_store
。有些商店没有任何产品。我如何查询所有产品,即使那些不属于任何商店的产品,如:
Product::where('store.id', '=', 1)->get()
这就是我目前的做法。
Product::whereHas('stores', function($query) {
$query->where('id', '=', $store_id);
});
检索至少有一个商店的所有商品
答案 0 :(得分:6)
Product::doesntHave('stores')->orWhereHas('stores', function($query) {
$query->where('id', '=', $store_id);
})->get();