In my function index()
of UserController I have this code:
public function index()
{
$this->authorize('view', Auth::user());
$users = QueryBuilder::for(User::class)
->allowedIncludes('kids','roles','articles','recordings')
->allowedFilters('first_name', 'last_name', 'email')
->get();
return $users;
}
so I use spatie QueryBuilder to filter through my User, my rout in postman looks like this:
/api/users?include=recordings,kids,roles,articles&filter[first_name]=anna&filter[last_name]=doe&filter[email]=gmail&sort=first_name
so in every controller that I have index method looks similar. Is there a way to make one filter method in trait or something (to avoid reapiting code) so I could include that trait in my models and my index method would look something like this:
$users = User::filter()
->get();
return UserResource::collection($users);
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire