Я пытаюсь создать запрос, который ищет имя и фамилию. Вот мой оригинальный запрос.
$em = $this->getDoctrine()->getManager();
$qb = $em->createQueryBuilder();
$qb ->select('a.firstName, a.lastName, a.relationship,
a.dateOfBirth, a.barcode1, a.phoneNumber, ea.address1,
ea.address2, ea.city, ea.state, ea.country, ea.postal,
s.name, s.keynoteSpeaker,
ci.created, \'checkin\' AS event')
->from('KCMApiBundle:EventSessionCheckin', 'ci')
->innerJoin('ci.eventSession', 's')
->innerJoin('ci.eventAttendee', 'a')
->leftJoin('a.eventAttendeeAddresses', 'ea')
->where($qb->expr()->andX(
$qb->expr()->eq('ci.eventSession',
$qb->expr()->literal($eventSessionId))
)
);
Затем я передаю динамический $ qb на основе информации, введенной через точку доступа API. Вот моя логика.
if ($match_level === 3){
list($first, $last) = explode(' ', $filter);
$first = 'a.firstName='. $first;
$last = 'a.lastName='. $last;
$expr->add($qb->expr()->concat($first, $qb->expr()->concat($qb->expr()->literal(' '), $last)));
}
Я пытаюсь создать запрос, который позволяет конечной точке выполнять поиск по имени и фамилии.