Maison  >  Article  >  développement back-end  >  Comment exécuter des requêtes SQL brutes avec Doctrine 2 ?

Comment exécuter des requêtes SQL brutes avec Doctrine 2 ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-27 09:05:301007parcourir

How to Execute Raw SQL Queries with Doctrine 2?

Exécution SQL brute avec Doctrine 2

Pour manipuler efficacement les tables de base de données, l'exécution de commandes SQL brutes devient parfois nécessaire. Par exemple, si vous devez tronquer des tables et les initialiser avec des données par défaut.

Solution

Doctrine 2 vous permet d'exécuter des requêtes SQL brutes à l'aide de son interface EntityManager. Voici un exemple qui présente cette fonctionnalité :

<code class="php"><?php

namespace Acme\SportBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Doctrine\ORM\EntityManagerInterface;

class AuthoritativeSportsRecordsController extends AbstractController
{
    public function getAuthoritativeSportsRecords(EntityManagerInterface $em)
    {
        $sql = "
            SELECT name,
                   event_type,
                   sport_type,
                   level
              FROM vnn_sport
        ";

        $stmt = $em->getConnection()->prepare($sql);
        $stmt->execute();
        return $stmt->fetchAll();
    }
}</code>

Dans cet exemple, nous exécutons une requête SQL brute pour récupérer les données de la table "vnn_sport". La requête peut être modifiée pour répondre à vos besoins spécifiques, comme tronquer ou initialiser des tables. Pensez à remplacer "vnn_sport" par le nom de votre table cible.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn