Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie erstelle ich eine effiziente DQL-Anweisung, die meinem effizienten SQL entspricht, wenn ich einen einfachen LEFT JOIN mache?

in Ihrem Fall hätte ich diese Abfrage versucht:

$this->getEntityManager()
        ->createQueryBuilder()
        ->select('count(i)')
        ->from(Item::class, 'i')
        ->leftJoin(Product::class, 'p', 'WITH', 'i.product = p.id')
        ->where('i.id = :id')
        ->andWhere('p.model like :model')
        ->setParameter('id', 2222)
        ->setParameter('model', 'FS-%')
        ->getQuery()->getSingleScalarResult();

Produkt in i.product ändern zu Ihrem Property-Namen