class BankEmployeeController extends Controller { public function employeesInLocation() { $employees = Bank::with(['employees' => function() { $query->where('location', request('location')); }])->get(); } } What To Do Instead class BankEmployeeController extends Controller { public function employeesInLocation() { $employees = Bank::whereHas('employees', function() { $query->where('location', request('location')); }) ->with(['employees' => function() { $query->where('location', request('location')); }]) ->get(); } }
عندما نريد جلب البيانات بإستخدام العلاقات، فإنه يفضل إستخدام whereHas، فإنه عند عندم إستخدامها فإنها سوف يتم جلب جميع موظفي البنك الذين يقيمون في مكان معين، بالإضافة للموظفين الذين يقيمون في مواقع أخرى اذا كانت العلاقة غير موجوده، أما مع إستخدامها فسوف يتم جلب الذين يسكنون في هذا المكان فقط.