table_method如何检查左外连接字段是否为空

时间:2011-11-28 00:42:31

标签: symfony1 doctrine left-join

我有一个生成的管理模块,其中包含以下表格方法

class Exam{

...

function retrieveExamList(Doctrine_Query $q){

    $rootAlias = $q->getRootAlias();
    return $q->
    innerJoin("$rootAlias.Person p")->
    innerJoin("$rootAlias.Code ec")->
    leftJoin ("$rootAlias.Order order")
    ->leftJoin("order.LatestVmOrderDetail od")->
    addSelect("$rootAlias.*, p.*, ec.*, ec.name as exam_code_name, "
    ."order.order_id, od.payment_status, od.payment_date, od.payment_method_id"
    );

}

在管理列表视图中,如果外部联接返回null,$ exam-> getPaymentStatus()将返回null,建议检查此方法的方法是什么?

$exam->_data['payment_status'] === null

还是有更好的东西?

我试过了

if ($exam->getPaymentStatus()){

返回致命错误。

我的问题特别是我在考试中有一个订单号,但该订单号在相应的关系中不存在

1 个答案:

答案 0 :(得分:0)

我通常会使用简单的if:

if ($exam->getPaymentStatus()) { /* ... */ }