Rumah >pembangunan bahagian belakang >tutorial php >Cara Melakukan Gabungan Kiri dalam Doktrin: Panduan dengan Contoh Kod

Cara Melakukan Gabungan Kiri dalam Doktrin: Panduan dengan Contoh Kod

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-30 05:02:02409semak imbas

How to Perform Left Joins in Doctrine: A Guide with Code Examples

Melaksanakan Left Joins in Doctrine

Doktrin menyediakan keupayaan menyeluruh untuk mencipta dan melaksanakan pertanyaan SQL, termasuk keupayaan untuk melaksanakan gabungan kiri. Artikel ini menunjukkan cara melakukan gabungan kiri menggunakan Doktrin, menangani titik kesakitan yang mungkin anda hadapi dalam kod anda.

Sintaks Sertai Kiri

Apabila menggunakan perkaitan antara entiti, sintaks untuk cantuman kiri adalah mudah:

<code class="php">public function getHistory($users) {
    $qb = $this->entityManager->createQueryBuilder();
    $qb
        ->select('a', 'u')
        ->from('Credit\Entity\UserCreditHistory', 'a')
        ->leftJoin('a.user', 'u')
        ->where('u = :user')
        ->setParameter('user', $users)
        ->orderBy('a.created_at', 'DESC');

    return $qb->getQuery()->getResult();
}</code>

Dalam contoh ini, syarat digunakan pada hasil cantuman, menjadikannya tidak relevan sama ada cantuman kiri atau sekadar cantuman digunakan.

Kiri Sertai Tanpa Persatuan

Jika tiada persatuan tersedia, pertanyaan penyertaan kiri menyerupai berikut:

<code class="php">public function getHistory($users) {
    $qb = $this->entityManager->createQueryBuilder();
    $qb
        ->select('a', 'u')
        ->from('Credit\Entity\UserCreditHistory', 'a')
        ->leftJoin(
            'User\Entity\User',
            'u',
            \Doctrine\ORM\Query\Expr\Join::WITH,
            'a.user = u.id'
        )
        ->where('u = :user')
        ->setParameter('user', $users)
        ->orderBy('a.created_at', 'DESC');

    return $qb->getQuery()->getResult();
}</code>

Pertanyaan ini menghasilkan tatasusunan yang serupa dengan yang berikut:

<code class="php">array(
    array(
        0 => UserCreditHistory instance,
        1 => Userinstance,
    ),
    array(
        0 => UserCreditHistory instance,
        1 => Userinstance,
    ),
    // ...
)</code>

Atas ialah kandungan terperinci Cara Melakukan Gabungan Kiri dalam Doktrin: Panduan dengan Contoh Kod. 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