将PHP布尔值映射到Oracle中的String t / f

时间:2015-10-08 14:30:33

标签: oracle symfony doctrine mapping

我正在使用Symfony2和Doctrine重构一个带有Oracle数据库的旧应用程序。 我无法更改数据库方案。

我需要在模型中使用布尔值,但数据库将其保存为带有t或f的VARCHAR2(1 CHAR)。如何在Oracle端访问写t / f并在Symfony中将其用作布尔值?

谢谢!

米蒂亚

1 个答案:

答案 0 :(得分:0)

在你的实体中这样:

/**
 * @var string
 *
 * @ORM\Column(name="somefield", type="string", length=1)
 */
private $someField;

/**
 * Set someField
 *
 * @param boolean $someField
 * @return ...
 */
public function setSomeField(bool $someField)
{
    $this->someField = 'f';

    if($someField)
        $this->someField = 't';

    return $this;
}

/**
 * Get someField
 *
 * @return boolean 
 */
public function getSomeField()
{
    if($this->someField == 't')
        return true;

    return false;
}