2016-04-23 28 views
1

在我公司實體領域的Symfony:空值是不允許的思想已設置爲空的真以下

/** 
* @var int 
* 
* @ORM\Column(name="plan", type="integer", nullable=true) 
*/ 
private $plan; 

/** 
* @var float 
* 
* @ORM\Column(name="wallet", type="float", nullable=true) 
*/ 
private $wallet; 

/** 
* @var string 
* 
* @ORM\Column(name="profpic", type="string", length=255, nullable=true) 
*/ 
private $profpic; 

/** 
* @var float 
* 
* @ORM\Column(name="tod1", type="float", nullable=true) 
*/ 
private $tod1; 

/** 
* @var float 
* 
* @ORM\Column(name="tod2", type="float", nullable=true) 
*/ 
private $tod2; 

/** 
* @var string 
* 
* @ORM\Column(name="tod3", type="string", length=255, nullable=true) 
*/ 
private $tod3; 

但我面對這個錯誤,而登記:

在執行時出現異常'INSERT INTO company(email,pass,type,name,level,plan,wallet,profpic,tod1,tod2,tod3)VALUES(?,?,?,?,?,?,?,?,? )'with params [「[email protected]」,「test」,「comp」,null,1,null,null,null,null,null,null]:

SQLSTATE [23000]:完整性約束違規:1048列 '名' 不能爲空

我做了什麼錯? 請幫助..

+0

我想你剛剛添加了'nullable'參數給你的實體的屬性,但沒有更新數據庫模式。 –

+0

我已經更新了相應的數據庫...但同樣的問題正在發生 –

回答

2

從錯誤發生

例外在執行「INSERT INTO公司(電子郵件,傳遞,類型,名稱,級別,計劃,錢包,profpic,tod1,tod2,tod3)VALUES(?,? ,「?」,?,?,?,?,?,?,?)'與params [「[email protected]」,「test」,「comp」,null,1,null,null,null,null ,NULL,NULL]: SQLSTATE [23000]:完整性約束違規:1048列 '名稱' 不能爲空

字段名是必需的。 在上面的實體中,您忘記發佈您的姓名列。我相信你在名稱列中犯了一個錯誤。
可爲空的名字列的一個例子是

/** 
* @ORM\Column(type="string" ,nullable=true) 
*/ 
protected $name; 

$ php app/console doctrine:schema:update --force 

,然後再試一次不斷更新的數據庫架構之後。

+0

這工作,謝謝:) –

+0

你歡迎兄弟 –

1

你的錯誤是Column 'name' cannot be null 是列name也設置爲實體(在數據庫NULL型)可空?