将空白值启用到数据库中

时间:2014-09-05 21:46:03

标签: php symfony

使属性接受空值的正确方法是什么。我浏览了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

2 个答案:

答案 0 :(得分:1)

它将允许列中的NULL值:

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

答案 1 :(得分: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