Level 2
$globalSearch = AllowedFilter::callback('global', function ($query, $value) {
$query->where(function ($query) use ($value) {
Collection::wrap($value)->each(function ($value) use ($query) {
$query->orWhereRaw("CONCAT(`first_name`,' ',`last_name`) LIKE ?", ['%'.$value.'%'])
->orWhere('mail_address', 'LIKE', "%{$value}%");
});
});
});`
$members = QueryBuilder::for(\App\Models\Member::class)
->select(['first_name', 'last_name', 'mail_address'])
->allowedSorts(['first_name', 'last_name', 'mail_address'])
->allowedFilters([$globalSearch])
->paginate(15)
2 likes