FOSUser捆绑symfony2约会生日

时间:2013-03-22 18:56:36

标签: date symfony fosuserbundle

您好我正在使用FOSUSerBundle进行注册。我还向我的实体添加了这个:

    /**
 *
 * @ORM\Column(name="birthday", type="date", nullable=true, options={"default" = "0000-00-00"})
 */
protected $birthday="0000-00-00";

我的注册表格中没有任何内容。没有生日场或类似的东西。我只是不想要' null'在DB专栏。

但是当我尝试注册此错误时:

Fatal error: Call to a member function format() on a non-object in C:\xampp\htdocs\project\vendor\doctrine\dbal\lib\Doctrine\DBAL\Types\DateType.php on line 44

如何解决? :o

2 个答案:

答案 0 :(得分:1)

不要使用default =“0000-00-00”,因为Doctrine会转换为PHP \ DateTime。 PHP \ DateTime的范围介于1970年之间 - ...因此请使用null。

答案 1 :(得分:0)

它可能会检测$birthday属性在持久化之前尝试构建日期时间格式时不为空。由于您的字段的值为string,但您的字段类型为datetime,因此会尝试执行格式化。

解决方案可能是:

/**
 *
 * @ORM\Column(name="birthday", type="date", nullable=true, options={"default" = "0000-00-00"})
 */
protected $birthday=null;

确保您的数据库字段确实可以为空。

希望这会有所帮助......

相关问题