Doctrine 2 - 如何使用Time列类型

时间:2017-06-10 14:29:14

标签: php symfony doctrine-orm

我遇到时间列类型问题: 我有我的实体的这部分"匹配" :

/**
 * @ORM\Column(type="date")
 */
private $creationDate;
/**
 * @ORM\Column(type="time",nullable=true)
 */
private $creationTime;

每当我尝试坚持实体时,我都会收到错误:

错误:在TimeType.php

中调用字符串上的成员函数format()

这是我填充CreationTime的部分:

$time = date("H:i:s",strtotime(date("Y-m-d H:i:s")));

$Match->setCreationTime($time); 

我试图检查TimeType.php文件,我发现这个函数是问题的根源:

public function convertToDatabaseValue($value, AbstractPlatform $platform)
{
    return ($value !== null)
        ? $value->format($platform->getTimeFormatString()) : null;
}

更确定我检查了AbstractPlatform类,发现成员方法getTimeFormatString总是返回这个字符串:' H:i:s'。

所以任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

尝试使用它:

$Match->setCreationTime(new \Datetime());