我在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。 –