在学说中有一个isnull或ifnull函数吗?

时间:2011-12-12 09:54:44

标签: doctrine doctrine-orm isnull

我在doctrine中寻找一个函数来将null值转换为指定的默认值。因此,如果A为空,则IsNull(A,B)应该返回B.学说有这样的功能吗?

2 个答案:

答案 0 :(得分:1)

如果您正在谈论从对象中获取空值,请在您的实体中编写一个方法

<?php
// Entities/SomeEntity.php

class Foo
{
    private $a;

    private $b;

    // ...
    // Your getters and setters are here
    // ... 

    public function myNullFunction()
    {
       if($this->a === null AND $this->b !== null)
       {
           return $this->b;
       }
       elseif($this->b === null && $this->a !== null)
       {
           return $this->a;
       }
       else
       {
          // ... Do something if both are null
       }
    }
}

然后,只要加载了对象,就可以使用该功能

$foo = $some_repository->getFooObject();

// The function returning a value that is a or b
$bar = $foo->myNullFunction();

答案 1 :(得分:0)

您可以使用下面的项目,其中包含一些用于理论的MSSQL函数: https://github.com/naprstek/doctrine-functions