3

我遇到了日期格式问题。我正在使用 mysql、doctrine2 和 php 5.3。

问题是当我查询数据库时,getRepository('Entity\\Srm').findBy($id)我最终得到一个负日期值:-0001-11-30 00:00:00

当前存储在数据库中的值为0000-00-00。mysql 中字段的数据类型是date.

学说实体将变量标识为date类型。

我已经做了很多搜索,但没有好的线索。

有任何想法吗?

谢谢

4

2 回答 2

3

如果您可以更改数据库,请在列上添加可空属性并将 0000-00-00 值替换为空。

否则,您需要实现自定义类型:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/cookbook/advanced-field-value-conversion-using-custom-mapping-types。 html

于 2012-06-05T20:04:49.717 回答
2

我找到了解决我的问题的方法。我在实体中的属性上设置了最新的注释,所以我决定删除注释以便 PHP 处理它们。现在它正在工作,因为它是作为字符串类型而不是日期类型查询的。我想这就是我从静态世界与动态世界中得到的结果。

于 2012-06-06T15:42:32.043 回答