有两个相关的表,Car和CouponException,我想要获得一系列模型中的所有汽车,并获得与每辆车相关的CouponExceptions,但是棘手的事情来到这里..我只想获得该车的CouponException给予优惠券ID。所以我现在正在尝试的是:
$versions = Doctrine_Query::create()
->from('Car c, c.CouponException ce')
->whereIn('c.model', $models)
->addWhere('ce.coupon_id = ?', $cid)
->fetchArray();
但它只返回给我带优惠券例外的汽车,我想要的是将所有汽车都放在模型列表中并获得该汽车的CouponException,如果有一辆给定的优惠券ID ...
答案 0 :(得分:0)
我必须使用LEFT JOIN来获取所有结果,并使用“with”关键字来过滤第二个表。
$versions = Doctrine_Query::create()
->select('c.*, ce.*')
->from('Car c')
->leftJoin('c.CouponException ce WITH ce.coupon_id = '.$cid)
->whereIn('c.model', $models)
->fetchArray();
现在它有效:)))))