koti42 Builder kullandığınızda hem<>
hem de !=
kullanabilirsiniz, ikisi de geçerli.
omeruzer Siz burada sadece eager loading ile yüklenen kayıtları sınırlıyorsunuz, ana kayıtları sınırlamıyorsunuz. Onun için şöyle yapabilirsiniz:
$routes = RouteOptimization::withWhereHas('orders', function ($query) {
$query->where('status', '!=', 19);
})->get();
Bu aynı anda hem ana kaydı hem de eager yüklenen ilişkiyi sınırlar. withWhereHas yeni sayılabilecek bir yöntem. O yüzden eskiden nasıl yapıldığını da belirtmek faydalı olacaktır:
$routes = RouteOptimization::whereHas('orders', function ($query) {
$query->where('status', '!=', 19);
})
->with([
'orders' => function ($query) {
$query->where('status', '!=', 19);
}
])
->get();