【发布时间】:2016-10-21 17:28:24
【问题描述】:
我从 MySQL 数据库继承了一个“时间”列,该列表示“一周中的时间”,范围从“00:00:00”到“167:59:59”(24*7 = 168)。
对应的ORM声明为:
* @var \DateTime $startTime
* @ORM\Column(name="startTime", type="interval")
显然 Doctrine 总是在 PHP 中使用 DateTime(而不是 DateInterval),可能是为了与其他数据库引擎保持兼容。
问题是:我不明白如何设置这些值,因为它们总是在持久化时变为 NULL。
例如:
$pWeek->setEndTime(new \DateTime('T'06:00:00'));
将在实体中设置日期时间,但在数据库中设置 NULL。
我认为设计这个的人已经直接在 DB 中设置了数据,但是由于有一个 ORM,我需要能够使用它来设置数据。
【问题讨论】:
-
类型interval 似乎不存在。你有创建自己的类型吗?或许问题出在这里。
标签: php mysql symfony doctrine-orm doctrine