Php 如果存在';第二个表中没有相关数据

Php 如果存在';第二个表中没有相关数据,php,doctrine,doctrine-1.2,Php,Doctrine,Doctrine 1.2,有两个相关的表,Car和CouponException,我想得到一系列模型中的所有汽车,还想得到与每辆汽车相关的CouponException,但棘手的是。。我只想在获得优惠券id的情况下获得该车的CoupOneException。因此,我现在尝试的是: $versions = Doctrine_Query::create() ->from('Car c, c.CouponException ce') ->whereIn('c.model', $models)

有两个相关的表,Car和CouponException,我想得到一系列模型中的所有汽车,还想得到与每辆汽车相关的CouponException,但棘手的是。。我只想在获得优惠券id的情况下获得该车的CoupOneException。因此,我现在尝试的是:

$versions = Doctrine_Query::create()
    ->from('Car c, c.CouponException ce')
    ->whereIn('c.model', $models)
    ->addWhere('ce.coupon_id = ?', $cid)
    ->fetchArray();

但它只返回给我一个优惠券例外的汽车,我想要的是得到一个模型列表中的所有汽车,并得到该车的CoupOneException,如果有一个给定的优惠券id

我必须使用左连接来获得所有结果,并使用“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();
现在它工作了:))