Date FOSUser捆绑包symfony2日期生日
嗨,我正在使用FOSUSerBundle进行注册。我还向我的实体添加了以下内容:Date FOSUser捆绑包symfony2日期生日,date,symfony,fosuserbundle,Date,Symfony,Fosuserbundle,嗨,我正在使用FOSUSerBundle进行注册。我还向我的实体添加了以下内容: /** * * @ORM\Column(name="birthday", type="date", nullable=true, options={"default" = "0000-00-00"}) */ protected $birthday="0000-00-00"; 我的登记表与此无关。没有生日字段之类的。我只是不想在DB列中有'null' 但当我尝试注册此错误时: Fatal error:
/**
*
* @ORM\Column(name="birthday", type="date", nullable=true, options={"default" = "0000-00-00"})
*/
protected $birthday="0000-00-00";
我的登记表与此无关。没有生日字段之类的。我只是不想在DB列中有'null'
但当我尝试注册此错误时:
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在持久化之前尝试构建日期时间格式时,它可能会检测到
$birthday
属性不为null。因为您的字段具有类型string
的值,但您的字段类型是datetime,所以它尝试执行格式化
解决办法可能是:
/**
*
* @ORM\Column(name="birthday", type="date", nullable=true, options={"default" = "0000-00-00"})
*/
protected $birthday=null;
确保数据库字段确实可以为空
希望这有助于…不要使用default=“0000-00-00”,因为条令从和转换为PHP\DateTime。PHP\DateTime的范围介于1970到。。。出于这个原因,只需使用null。顺便说一句,我忘了在不同的问题中将你的帖子标记为已回答。所以我现在做了:)嗯。。一方面,它有助于目前还没有错误。。。但由于$birth=null,数据库更新为值“null”。我希望看到有默认值。这就是为什么,我们会很好:)当有人注册时,我怎么能做到。。他的默认DB值不是空的,而是0000-00-00?