symfony - Cara menggunakan leftJoin dan Sertai dalam persatuan jadual dalam createQuery
習慣沉默
習慣沉默 2017-05-16 16:44:41
0
1
522

Hubungan antara ketiga-tiga jadual

a oneToMany b
b oneToMany c

Tujuan: Saya ingin mencari semua data tanpa c data
Contoh: Pegawai Polis Li (a) mempunyai tiga pistol (b) setiap pistol mempunyai peluru (c)
Apa yang saya ingin cari ialah polis tanpa peluru, tambah tiga pistol Polis Wang, dua daripadanya tidak mempunyai peluru, tetapi jika satu pistol ada peluru, maka jangan pilih dia peluru.

Jadi saya tulis kod berikut

$em = $this->getDoctrine()->getManager();
        $qb = $em->createQueryBuilder();
        $qb->select('a', 'b')
                ->from('aaBundle:a', 'a')
                ->leftJoin('a.b', 'b')
                ->leftJoin('b.c', 'c')
                ->where('c.id is null');
        $query = $qb->getQuery();
        $result = $query->getArrayResult();

Tetapi mereka juga menemui Polis Wang, anggota polis dengan peluru di dalam pistolnya.
Bagaimana untuk mengubah suai kod ini.

習慣沉默
習慣沉默

membalas semua(1)
黄舟

Mula-mula cari pistol tanpa peluru, kemudian cari ID pistol (anggota polis dengan peluru), kemudian TIDAK DALAM

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan