【发布时间】:2017-03-04 12:52:51
【问题描述】:
我有一个日期时间字段
/**
* @var \DateTime
*
* @ORM\Column(name="date", type="datetime", nullable=true)
*/
private $datetime;
/**
* Set date
*
* @param \DateTime $datetime
*
*/
public function setDate($datetime)
{
$this->datetime = $datetime;
return $this->datetime ?? new \DateTime();
}
/**
* Get date
*
* @return \DateTime
*/
public function getDate(): \DateTime
{
return $this->datetime ?? new \DateTime();
}
我下面这个错误:
调用数组上的成员函数 format()
有人知道我为什么会得到这个吗?
编辑:
下面是我用来生成表单以读取 DateTime 值,然后从表单中收集数据并在表中创建新实体的代码:
$trainingform = new Training();
$form = $this->createFormBuilder($trainingform)
->add('Leader', TextType::class)
->add('Date', DateTimeType::class, ['label' => 'Date and Time'])
->add('topics', TextType::class, ['label' => 'Topics Being Covered'])
->getForm();
if ($form->handleRequest($request)->isValid()) {
$trainingform->setLeader($request->request->get('form')['Leader']);
$trainingform->setDate($request->request->get('form')['Date']);
$trainingform->setTopics($request->request->get('form')['topics']);
$em->persist($trainingform);
$em->flush();
}
【问题讨论】:
-
你的价值是多少。你的 $value 是一个数组,而不是一个 obj
-
该值来自 Symfony DateTime 表单。
->add('Date', DateTimeType::class, ['label' => 'Date and Time'])在处理中,$trainingform->setDate($request->request->get('form')['Date']);相信这就是你的要求 -
在这里显示它的价值。
-
日期和时间值示例:2016 Sep 14 , 13 00
-
这就是表单的样子puu.sh/utRBq/abe82dc5a6.png