I have an employee table with a field district_id
. I want a query that selects the first employee from each district.
At the moment I'm manually hardcoding it:
$tributes = [
Employee::where('district_id', '=' 1)->take(1)->get(),
Employee::where('district_id', '=' 2)->take(1)->get(),
Employee::where('district_id', '=' 3)->take(1)->get(),
...
];
Is it possible to do this using only one eloquent call? Any volunteers?
I am not used to laravel. But something like below may help. Group by
is needed for one employee and ascending ID will confirm the first employee.
Employee::whereIn('district_id', array(1, 2, 3))
->orderBy('employee_id', 'asc')
->groupBy('employee_id')
->get();
try using whereIn in the model
Employee::whereIn('district_id', array(1, 2, 3))->get()