Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Melaksanakan Gabungan Kiri dalam Doktrin untuk Mendapatkan Sejarah Kredit?

Bagaimana untuk Melaksanakan Gabungan Kiri dalam Doktrin untuk Mendapatkan Sejarah Kredit?

DDD
DDDasal
2024-10-29 21:52:02911semak imbas

How to Implement Left Joins in Doctrine for Credit History Retrieval?

Cara Melakukan Left Joins in Doctrine

Dalam fungsi getHistory(), anda cuba mendapatkan semula sejarah kredit pengguna . Walau bagaimanapun, sintaks awal dalam klausa gabungan anda telah mengakibatkan ralat.

Untuk melaksanakan gabungan kiri dalam Doktrin, anda boleh menggunakan sintaks berikut:

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

Di sini, a mewakili alias untuk entiti UserCreditHistory dan u mewakili alias untuk entiti Pengguna yang disertai. Dengan menggunakan kaedah leftJoin(), anda menyatakan bahawa anda ingin memasukkan baris daripada jadual Pengguna yang tidak sepadan dalam jadual UserCreditHistory.

Sebagai alternatif, jika anda tidak mempunyai perkaitan antara kedua-dua entiti, anda boleh menggunakan sintaks berikut:

<code class="php">$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');
````
</code>

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Gabungan Kiri dalam Doktrin untuk Mendapatkan Sejarah Kredit?. 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