Как можно сопоставить имена столбцов из запроса Doctrine sql?
Я создал такой запрос с помощью построителя запросов:
$qb = $em->createQueryBuilder();
$qb->select(['u.id', 'u.name'])
->from(User::class, 'u')
->where('u.active = 1')
;
$sql = $qb->getQuery()->getSql();
Результат выглядит так:
SELECT u1_.user_id as s1, u1_.full_name as s2 FROM users u1_ WHERE u1_.is_active = 1
Я хотел бы выполнить его как собственный запрос, но мне нужно выяснить, как сопоставить
s1, s2
к
id, name
.
2 ответа
Не уверен, что понимаю ваш вопрос, но если вы хотите запустить собственный запрос с в результате столбцами
id
а также
name
, вы можете заменить их в запросе, это псевдонимы, поэтому они могут быть чем угодно:
SELECT u.user_id as id, u.full_name as name FROM users u WHERE u.is_active = 1
ты должен использовать
as
внутри вашего выбора
используя ваш пример =>
$qb = $em->createQueryBuilder();
$qb->select(['u.id as s1', 'u.name as s2'])
->from(User::class, 'u')
->where('u.active = 1');
$sql = $qb->getQuery()->getSql();
это сопоставляет идентификатор с
s1
и назовите как
s2