How can I create a custom SQL query in Symfony2 using Doctrine? Or without Doctrine, I don't care.
Doesn't work like this:
$em = $this->getDoctrine()->getEntityManager();
$em->createQuery($sql);
$em->execute();
Thanks.
How can I create a custom SQL query in Symfony2 using Doctrine? Or without Doctrine, I don't care.
Doesn't work like this:
$em = $this->getDoctrine()->getEntityManager();
$em->createQuery($sql);
$em->execute();
Thanks.
You can get the Connection object directly from the Entity Manager, and run SQL queries directly through that:
$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();
However, I'd advise against this unless it's really necessary... Doctrine's DQL can handle almost any query you might need.
Official documentation: https://www.doctrine-project.org/projects/doctrine-dbal/en/2.9/reference/data-retrieval-and-manipulation.html
You can execute this code it works :
$em = $this->getDoctrine()->getEntityManager();
$result= $em->createQuery($sql)->getResult();
$em->createQuery()
does not execute SQL, but DQL. –
Fillander © 2022 - 2024 — McMap. All rights reserved.