Datetime 原则2:如何将长度大于24小时的输入;时间“;领域
我有一个有声读物数据库。有些书的长度超过24小时。我很难创建映射长度超过24小时的Datetime 原则2:如何将长度大于24小时的输入;时间“;领域,datetime,symfony,doctrine-orm,symfony-2.1,Datetime,Symfony,Doctrine Orm,Symfony 2.1,我有一个有声读物数据库。有些书的长度超过24小时。我很难创建映射长度超过24小时的length属性的条令实体,因为time字段接受DateTime对象,任何超过24小时的时间都会添加到第二天,因此33小时变为9小时 <?php namespace Entity; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity */ class Audiobook { /** * @var \DateTime $length
length
属性的条令实体,因为time
字段接受DateTime
对象,任何超过24小时的时间都会添加到第二天,因此33小时变为9小时
<?php
namespace Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
*/
class Audiobook
{
/**
* @var \DateTime $length
*
* @ORM\Column(name="length", type="time")
*/
protected $length;
看起来您实际上是在寻找,而不是,因为后面的一个表示时间上的某个时刻,而“长度”不能是
这意味着没有从DateInterval
到SQL类型的映射(还没有),甚至我也不知道有任何类似SQL类型的间隔。您可以做的是创建自己的类型,将DateInterval
映射到VARCHAR
格式的。然后转换成h:m:s。是的,我最后就是这么做的。我试着不这样做,但在尝试了一段时间后,我现在看到PHP DateTime类并不是这样设计来处理时间的,它是设计来处理日期时间的。最好以秒或分钟来测量这样的间隔。也许可以使用DateInterval创建自定义的条令类型。如果有人成功了,我想看看!