2015-12-20 4 views
1

Я пытаюсь повторно использовать имя определения «комментарии» - таблица Комментарии (AppBundle: Комментарии объектные) в 5 DQL подзапроса, но я получаю сообщение об ошибке: "Error: 'comments' is already defined."DQL подзапрос - это уже определено

Вот является DQL-запрос:

SELECT employer.name AS employer_name, employer.position AS employer_position, employer.id AS employer_id, 

       (SELECT company.company_name FROM Application\Sonata\UserBundle\Entity\User company WHERE company.id = employer.company) AS company_name, 
       (SELECT city.name FROM AppBundle:City city WHERE city.id = employer.city) AS city_name, 
       (SELECT MAX(comments.id) FROM AppBundle:Comments comments WHERE comments.employer = employer_id) AS comment_id, 
       (SELECT commenttype.name FROM AppBundle:CommentTypes commenttype WHERE commenttype.id = comment_id) AS comment_name, 
       (SELECT COUNT(comments.id) FROM AppBundle:Comments comments WHERE comments.employer = employer_id) AS comment_count 

       FROM AppBundle:Employer employer 

Как я могу повторно использовать определение без его переопределения?

Я попытался также с этим:

SELECT employer.name AS employer_name, employer.position AS employer_position, employer.id AS employer_id, 

       (SELECT company.company_name FROM Application\Sonata\UserBundle\Entity\User company WHERE company.id = employer.company) AS company_name, 
       (SELECT city.name FROM AppBundle:City city WHERE city.id = employer.city) AS city_name, 
       (SELECT MAX(comments.id) FROM AppBundle:Comments comments WHERE comments.employer = employer_id) AS comment_id, 
       (SELECT commenttype.name FROM AppBundle:CommentTypes commenttype WHERE commenttype.id = comment_id) AS comment_name, 
       (SELECT COUNT(comments.id) FROM comments WHERE comments.employer = employer_id) AS comment_count 

       FROM AppBundle:Employer employer 

, но теперь я получаю «„комментарии“класс не определен.» ошибка.

ответ

0

Кажется дублирующим псевдоним в первом запросе.

Попробуйте это:

ВЫБРАТЬ employer.name AS employer_name, employer.position А.С. employer_position, employer.id AS employer_id,

  (SELECT company.company_name FROM Application\Sonata\UserBundle\Entity\User company WHERE company.id = employer.company) AS company_name, 
      (SELECT city.name FROM AppBundle:City city WHERE city.id = employer.city) AS city_name, 
      (SELECT MAX(comments.id) FROM AppBundle:Comments comments WHERE comments.employer = employer_id) AS comment_id, 
      (SELECT commenttype.name FROM AppBundle:CommentTypes commenttype WHERE commenttype.id = comment_id) AS comment_name, 
      (SELECT COUNT(aComments.id) FROM AppBundle:Comments aComments WHERE aComments.employer = employer_id) AS comment_count 

      FROM AppBundle:Employer employer 

Надежда эта помощь

 Смежные вопросы

  • Нет связанных вопросов^_^