0
hasMany
とBar
の関係を持つモデルFoo
があります。Laravel:関係が存在するかどうかの問い合わせ
私は、次のようなクエリをしている:しかし、私は、アイテムがクエリを満たすBar
を目的としている場合にのみFoo
オブジェクトを返すようにしたい
$r = Foo::with(['bar' => function($query) {
$query->where('someProp', '=', 10);
})->get()
。
は、私はあなたがこのような何かを行うことができますことを承知している:
$r = Foo::has('bar')
->with(['bar' => function($query) {
$query->where('someProp', '=', 10);
})->get();
しかし、そのチェックを任意のbar
項目が存在するかどうか。 bar
項目はsomeProp = 10
に存在しない場合は、私は解決策を持っている最も近いがこれです:
$r = Foo::has('bar')
->whereHas('bar', function ($query) {
$query->where('someProp', '=', 10);
})
->with(['bar' => function($query) {
$query->where('someProp', '=', 10);
})->get();
しかし、それは明らかに非常に良い解決策ではないと私は、クエリを繰り返していて、おそらく非常に非効率的です。
どうすればこの問題を解決できますか?