Sommaire

L’exécution des Requêtes SQLrequêtes SQL

On peut faire beaucoup de choses avec le DQL ou le Query Builder. Ces méthodes ne s’arrêtent pas à la consultation de données, on peut aussi s’en servir pour insérer, modifier ou supprimer des enregistrements.

Cependant, pour ceux qui ont de grosses requêtes à effectuer, qui seraient difficiles à implémenter avec ces méthodes, Doctrine donne la possibilité d’exécuter des requêtes SQL directement.

Il suffit de récupérer la connexion à la base de données à partir de l’Entity Manager, de préparer la requête et de l’exécuter. La récupération des données se fait avec la méthode fetchAll().

Par exemple, on peut remplacer le DQL de la méthode orderingProduit() par une requête SQL équivalente :

        public function orderingProduit() 
        { 
           $conn = $this->getEntityManager()->getConnection(); 
 
            $sql="SELECT * FROM produit ORDER BY id DESC"; 
            $stmt = $conn->prepare($sql); 
            $stmt->execute();  ...