Я пытаюсь создать конечную точку, которая запрашивает список фильтров и выплевывает результаты. Приведенный ниже код отправляет все результаты обратно, но я пытаюсь создать что-то, где я могу использовать $ filter = moreno и запросы для этого.
Вот мой контроллер. Этот контроллер запрашивает все текущие сеансы
/**
* Get attendees in a session.
*
* @Get("/eventSession/{eventSessionId}/eventSession")
*
* @View(serializerGroups={"Default"})
* @ApiDoc(
* output= {
* "class" = "array<KCM\ApiBundle\Contract\EventAttendee>",
* "groups" = {"Default"}
* },
* requirements={
* {
* "name"="eventSessionId",
* "dataType"="string",
* "requirement"="(\w|-)+",
* "description"="Event Session ID"
* },
* {
* "name"="filter",
* "dataType"="string",
* "requirement"="(\w|-)+",
* "description"="Value to search for within fields"
* }
* }
* )
*
* @Secure(roles="api.event_admin")
*/
public function getEventSessionAttendeeAction(request $request,
$eventSessionId)
{
$filterName = 'filter';
$searchFields = [
'o.email',
'a.email',
'a.firstName',
'a.lastName',
'a.barcode1',
'a.barcode2',
'a.id',
'o.id'
];
try {
/** @var ApiEntity\EventSession $eventSession */
$eventSession = $this->get('doctrine')-
>getRepository('KCMApiBundle:EventSession')-
>findOneById($eventSessionId);
$eventAttendees = $this-
>getEventSessionAttendeesCheckedIn($eventSession);
if ($eventAttendees) {
return $this->getApi()->serialize($eventAttendees);
}
return new Response(null, Response::HTTP_NOT_FOUND);
} catch (\Exception $e) {
$this->get('logger')->error($e->getMessage());
}
}
Я хочу добавить параметр фильтра, чтобы я мог запрашивать результаты по имени, фамилии, номеру телефона и т. Д.