Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Melaksanakan Pertanyaan SQL Mentah dengan Doktrin 2?

Bagaimana untuk Melaksanakan Pertanyaan SQL Mentah dengan Doktrin 2?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-27 09:05:301007semak imbas

How to Execute Raw SQL Queries with Doctrine 2?

Pelaksanaan SQL Mentah dengan Doktrin 2

Untuk memanipulasi jadual pangkalan data dengan berkesan, melaksanakan arahan SQL mentah menjadi perlu pada masa-masa tertentu. Contohnya, jika anda perlu memotong jadual dan memulakannya dengan data lalai.

Penyelesaian

Doktrin 2 membolehkan anda menjalankan pertanyaan SQL mentah menggunakan antara muka EntityManagernya. Berikut ialah contoh yang mempamerkan fungsi ini:

<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>

Dalam contoh ini, kami melaksanakan pertanyaan SQL mentah untuk mendapatkan semula data daripada jadual "vnn_sport". Pertanyaan boleh diubah suai untuk memenuhi keperluan khusus anda, seperti memotong atau memulakan jadual. Ingat untuk menggantikan "vnn_sport" dengan nama jadual sasaran anda.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pertanyaan SQL Mentah dengan Doktrin 2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn