【发布时间】:2018-02-09 11:00:46
【问题描述】:
我有一个具有 DateTime 属性的实体:
/**
* Poll
*
* @ORM\Table(name="poll")
* @ORM\Entity(repositoryClass="Hubup\CoreBundle\Repository\PollRepository")
*/
class Poll
{
/**
* @var \DateTime
*
* @ORM\Column(name="expiration_date", type="datetime")
*
* @Groups({"basic"})
* @Type("DateTime<'U'>")
*
*/
private $expirationDate;
...
对应的表格如下:
class PollType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
...
->add('expirationDate', DateTimeType::class)
...
;
}
我发布了一个带有 json 正文的请求:
{
"expirationDate": 1549706072
}
我希望我的 expireDate 被映射为 DateTime,就像字符串日期一样。
我尝试了将'input' => 'timestamp' 添加到表单(描述为here)之类的选项,但我没有找到使它起作用的方法。
当我遇到这样的情况时,我通常会从表单中获取数据并在控制器中手动创建 DateTime,但我认为有更好的方法可以仅使用表单来完成。
希望我能找到帮助。
【问题讨论】:
标签: php symfony datetime symfony-forms