table_method как проверить, что левое внешнее поле соединения имеет значение null - PullRequest
0 голосов
/ 28 ноября 2011

У меня есть сгенерированный административный модуль со следующим методом таблицы

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"
    );

}

В представлении списка администраторов $ exam-> getPaymentStatus () возвращает ноль, если внешнее объединение возвращает ноль, каков рекомендуемый способ проверки этого?

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

или есть что-то лучше?

Я пытался

if ($exam->getPaymentStatus()){

, который возвращает фатальную ошибку.

Моя проблема, в частности, в том, что у меня есть номер заказа на экзамене, но этот номер заказа не существует в соответствующем отношении

1 Ответ

0 голосов
/ 28 ноября 2011

Я обычно использую простое, если это так:

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