Комментарии 4
Скажите пожалуйста, есть ли возможность использовать ResultSetMapping вместе с createQueryBuilder?
У объекта Query есть публичный метод setResultSetMapping, однако для того, чтобы этим воспользоваться надо указывать обфусцированные имена полей конечного SQL, что никак не возможно узнать…
В Doctrine есть два QueryBuilder — SQL и ORM (DQL). ResultSetMapping предназначен для работы с SQL-запросами, а метод createQueryBuilder EntityManager'a вернет Вам ORM QueryBuilder. В последнем случае я не вижу необходимости использовать ручной ResultSetMapping, т.к. запрос Вы составляете уже в терминах описанных сущностей, используя DQL. В первом же случае, при использовании SQL QueryBuilder, поля в выборке переименовываться не будут.
Понял, благодарю. Необходимость использовать ручной ResultSetMapping все же есть, т.к. несмотря на то, что используются термины сущностей, в select может быть группировка, джоин и прочее, таким образом ответ будет получен в виде ассоциативного массива, а приятней было бы его замапить в какой-нибудь объект.
Свой частный вопрос решил, впрочем, примером с DTO из вашей статьи, благодарю.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.