原则2:如何在“时间”字段中输入超过24小时的长度

时间:2012-11-03 04:28:09

标签: datetime symfony doctrine-orm symfony-2.1

我有一个有声读物数据库。其中一些书的长度超过24小时。我无法创建一个将length属性映射超过24小时的学说实体,因为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;

知道如何使这项工作?我也在使用Symfony2。

1 个答案:

答案 0 :(得分:1)

看起来你实际上在寻找的是DateInterval而不是DateTime,因为后者代表了一个时刻,即&#34;长度&#34;不能。

这说没有从DateInterval映射到SQL类型(但是?),甚至我根本不知道任何类似间隔的SQL类型。你可以做的是创建一个自己的类型,用DateInterval格式PT28H

来映射VARCHAR