2014-09-05 58 views
-1

什麼是使屬性接受空值的正確方法。我瀏覽了StackOverflow並發現了約Assert。這裏就是我如何使用它在數據庫中啓用空白值

/** 
    * @var string 
    * 
    * @ORM\Column(name="title", type="string", length=100) 
    * @Assert\Blank() 
    */ 
    private $title; 

可惜的是,當我試圖保存記錄,不顯示標題我得到:

An exception occurred while executing 'INSERT INTO Post (content, title, topic_id) VALUES (?, ?, ?)' with params ["sdf", null, 1]: 

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'title' cannot be null 

回答

1

只需使用nullable

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

然後用./app/console doctrine:schema:update --force

http://docs.doctrine-project.org/en/2.0.x/reference/annotations-reference.html#column

+0

的作品就像一個魅力更新架構,謝謝 – Leo 2014-09-05 21:53:18

+0

如果我回答了你的問題,你會記住我的答案接受? – dmnptr 2014-09-05 21:56:22

+0

我可以在4分鐘內完成;) – Leo 2014-09-05 21:57:22

1

它將使列NULL值:

ALTER TABLE Post MODIFY `title` VARCHAR(255) NULL;