Symfony2 & Doctrine: создание пользовательского SQL-запроса

Как создать собственный SQL-запрос в Symfony2 с помощью Doctrine? Или без доктрины, мне все равно.

Не работает так:

$em = $this->getDoctrine()->getEntityManager(); $em->createQuery($sql); $em->execute(); 

Благодарю.

Вы можете получить объект Connection непосредственно из Менеджера сущностей и напрямую выполнить SQL-запросы:

 $em = $this->getDoctrine()->getManager(); // ...or getEntityManager() prior to Symfony 2.1 $connection = $em->getConnection(); $statement = $connection->prepare("SELECT something FROM somethingelse WHERE id = :id"); $statement->bindValue('id', 123); $statement->execute(); $results = $statement->fetchAll(); 

Тем не менее, я бы посоветовал это, если это действительно необходимо … Dctry Doctrine может обрабатывать практически любой запрос, который вам может понадобиться.

Официальная документация: http://doctrine-dbal.readthedocs.org/en/latest/reference/data-retrieval-and-manipulation.html

Вы можете выполнить этот код:

 $em = $this->getDoctrine()->getEntityManager(); $result= $em->createQuery($sql)->getResult();