【问题标题】:Setting "time" or DateInterval with Doctrine使用 Doctrine 设置“时间”或 DateInterval
【发布时间】: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


【解决方案1】:

这很奇怪,但最终代码是...工作

不知道我是怎么看到它失败的,我猜它可能只是一个缓存的东西。

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-07
    • 2023-03-04
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 2020-01-13
    • 1970-01-01
    • 2010-11-14
    相关资源
    最近更新 更多