<?php
namespace App\Http\Controllers\Api;
use App\Benutzer;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Resources\Benutzer as BenutzerResource;
use App\Http\Resources\BenutzerCollection as BenutzerCollectionResource;
class BenutzerController extends Controller
{
public function index()
{
return new BenutzerCollectionResource(Benutzer::paginate(100));
}
public function show(Benutzer $benutzer)
{
return new BenutzerResource($benutzer->with('events'));
}
}
When accessing the
/api/benutzer/7
endpoint, I get the user and all their events.
Problem is that this returns ALL the events without any filtering or pagination and of course the query takes a very long time.
How would I go about adding filtering on the "events" relationship?
I would like to hit an endpoint like this /api/benutzer/7?include=events&filter[events.category]=Meeting
API Resource Related Model Filtering
Hello!
I am having trouble understanding how to filter a model resource relationship.
\Resources\User.php
\Resources\Termin.php
\Controllers\Api\BenutzerController.php
When accessing the
/api/benutzer/7
endpoint, I get the user and all their events.
Problem is that this returns ALL the events without any filtering or pagination and of course the query takes a very long time.
How would I go about adding filtering on the "events" relationship?
I would like to hit an endpoint like this /api/benutzer/7?include=events&filter[events.category]=Meeting