Best way of performing eloquent query when request exists and has a relationship matching the request.
Hi guys,
I am trying to perform a query when a request exists but its quite slow to load so wanted to know if there was a better and quicker way of doing it.
$users = Travellers::select([
'id',
'firstname',
'surname',
'updated_at'
])->when($request->has('school'), function ($query) use ($request)
{
$query->has('passes.school')->whereHas('passes', function ($query) use ($request)
{
$query->where('school_id', $request->get('school'));
}
});
});
Thanks in advance.
I have speeded it up by modifying it to:
$users = Travellers::select([
'id',
'firstname',
'surname',
'updated_at'
])->when($request->has('school'), function ($query) use ($request)
{
$query->has('passes.school')->whereHas('passes.school', function ($query) use ($request)
{
$query->where('id', $request->get('school'));
}
});
});
but there is there a better way of doing it?
Thanks
Please or to participate in this conversation.