一個user
和他coupons
,我希望得到一個用戶和他所有的優惠券:學說2,避免讓給未連接的實體
foreach ($this->createQueryBuilder('x')->select('u, c')->where('x.email = ?0')->setParameter(0, $email)->leftJoin('u.coupons', 'c')->getQuery()->getResult() as $entity)
{
$entity->getCoupons();
}
這是非常好的,直到我忘記加入優惠券:
foreach ($this->createQueryBuilder('x')->select('u')->where('x.email = ?0')->setParameter(0, $email)->getQuery()->getResult() as $entity)
{
$entity->getCoupons();
}
不幸的是,即使沒有加入優惠券,這仍然有效。在這裏它執行另一個SELECT。另外,這第二選擇將是錯誤的。 Id寧可想要得到一個異常,或者至少需要一個空數組。有沒有解決方法?