Хорошо переписайте его так, как это должно работать.
$data
= new UserOverviewResourceCollection(User::search($searchphrase)
->where('starts_on','<',now())
->orderBy('lastname', 'asc')
->orderBy('firstname', 'asc')
->paginate(config('pagination.length')));
Обратите внимание, что now()
- это просто глобальная вспомогательная функция, возвращающая текущий момент Carbon instance.Писать покороче, другой причины для этого нет.
И если вы хотите сгруппировать where
запросов, вы делаете это так:
$data
= new UserOverviewResourceCollection(User::search($searchphrase)
->where(function($q) {
$q->where('starts_on','<',now())->where('ends_on','>',now())
})
->orderBy('lastname', 'asc')
->orderBy('firstname', 'asc')
->paginate(config('pagination.length')));
Итогда вы сможете экспортировать это в UserOverviewResourceCollection
как локальную область , например:
public function scopeActive($q) {
return $q->where('starts_on','<',now())->where('ends_on','>',now())
}
, и тогда вы можете использовать что-то вроде этого:
$data
= new UserOverviewResourceCollection(User::search($searchphrase)
->active()
->orderBy('lastname', 'asc')
->orderBy('firstname', 'asc')
Я написал это из своей головы, поэтому могут быть опечатки.