我有一个实体,其中有一个列是“datetime”类型,用于存储时间戳。
/** * @ORM\Column(type="datetime") */ protected $timestamp;
我之前使用的是MySQL 5.5.40,但我发现它不支持存储微秒级别的时间。因此,我升级到了5.6.21版本并导入了所有的表和数据。
在使用新版本时,我尝试声明类型为:
* @ORM\Column(type="datetime(6)")
但是它给了我一个错误。所以我直接在数据库中进行了更改:
ALTER TABLE symfony.hrmgmt MODIFY timestamp DATETIME(6);
在我的控制器中,我这样做:
$dt = new \DateTime('now'); $newHREvent->setTimestamp($dt);
然而,时间戳存储时并不包含秒的分数。
我可以通过 SQL 手动输入带有小数值的日期时间,但是当我通过控制器执行时,它总是以 .000000 存储。
我想这是因为 Doctrine 不知道它也可以存储微秒。
我的 PHP 版本仍为 5.4.34。
谢谢!