我在tinyint的数据库中有一个字段。为什么实体getter返回null而不是0?
这里是负责此获取的实体的一部分:
/**
* @var integer
*
* @ORM\Column(name="showAmounts", type="boolean", nullable=false)
*/
private $showamounts = 1;
/**
* Get showamounts
*
* @return integer
*/
public function getShowamounts()
{
return $this->showamounts;
}
如果showamounts = 0,那么
echo $o->getShowamounts(); // returns "" instead of "0"
当我投消气剂诠释它的工作,但我100%肯定当我写代码时(几个月前),一切正常。所以我的问题是,发生了什么?也许是因为这个,实体中的var被定义为布尔值?我只是想存储0或1
,并且数据库列的类型? – COil
你应该考虑把'''private $ showamounts = 1;'''改成'''private $ showamounts = true;'''。对于mysql来说,Doctrine会将true,false转换为1,0,但在您的应用程序中,您应始终对类型''boolean'''使用true和false。 –