إستخدام WhereHas لجلب البيانات التي نحتاجها فقط

إستخدام WhereHas لجلب البيانات التي نحتاجها فقط

2024-05-06 وقت القراءه : 1 دقائق

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، فإنه عند عندم إستخدامها فإنها سوف يتم جلب جميع موظفي البنك الذين يقيمون في مكان معين، بالإضافة للموظفين الذين يقيمون في مواقع أخرى اذا كانت العلاقة غير موجوده، أما مع إستخدامها فسوف يتم جلب الذين يسكنون في هذا المكان فقط.


كذلك يمكن أيضا إستخدام الدالة الجديدة withWherHas

إضافة تعليق
Loading...