Error: Call to a member function format() on a non-object with \DateTime
Error: Call to a member function format() on a non-object with \DateTime
我的 Symfony 项目有一个问题。我有一个实体有很多这样的 \DateTime :
/**
* @var \DateTime
*
* @ORM\Column(name="date_debut", type="datetime", length=255)
*/
protected $dteDebut ;
function getDteDebut() {return $this->dteDebut;}
function setDteDebut(\DateTime $dteDebut) {$this->dteDebut = $dteDebut;}
我像这样将 formBuilder 与日期时间一起使用:
$builder->add('dteDebut', 'datetime', array(
'label' => 'Date de début :',
'date_widget' => 'single_text',
'time_widget' =>'single_text'
));
还有一个简单的函数可以使用我的表单:
public 函数 organiserAction() {
$em=$this->getDoctrine()->getManager();
$orga = new \CCF\CCFBundle\Entity\Organiser;
$form = $this->createForm(new \CCF\CCFBundle\Form\OrganiserForm(), $orga);
$request = $this->get('request');
if ($request->getMethod() == 'POST') {
$form->bind($request);
var_dump($form->get('dteDebut')->getData());
if ($form->isValid()) {
$em->persist($orga);
$em->flush();
return $this->redirect($this->generateUrl('organiser_homepage'));
}
}
//on passe la méthode createView() à la vue pour qu'elle l'affiche
return $this->render('CCFBundle:Organiser:create.html.twig',array("form"=>$form->createView(),));
}
当我验证表单时出现一个错误
Error: Call to a member function format() on a non-object
堆栈跟踪
在 vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateType.php 的第 53 行 -
public function convertToDatabaseValue($value, AbstractPlatform $platform)
{
return ($value !== null)
? $value->format($platform->getDateFormatString()) : null;
}
/**
我不明白这个错误在哪里,你能帮我吗?
试试这个:
/**
* @var \DateTime
*
* @ORM\Column(name="date_debut", type="datetime", length=255)
*/
protected $dteDebut ;
function getDteDebut() {return $this->dteDebut;}
function setDteDebut(new \DateTime $dteDebut) {$this->dteDebut = $dteDebut;}
我也在我的一个实体中使用日期时间。我看到的一个变化是我没有在 setter 中指定变量是日期时间对象
setDteDebut($dteDebut) {...}
好吧,我的错...我在另一个属性上犯了一个错误...我有一个类型为日期的属性,这个属性有一个格式为字符串的类型...
我的 Symfony 项目有一个问题。我有一个实体有很多这样的 \DateTime :
/**
* @var \DateTime
*
* @ORM\Column(name="date_debut", type="datetime", length=255)
*/
protected $dteDebut ;
function getDteDebut() {return $this->dteDebut;}
function setDteDebut(\DateTime $dteDebut) {$this->dteDebut = $dteDebut;}
我像这样将 formBuilder 与日期时间一起使用:
$builder->add('dteDebut', 'datetime', array(
'label' => 'Date de début :',
'date_widget' => 'single_text',
'time_widget' =>'single_text'
));
还有一个简单的函数可以使用我的表单:
public 函数 organiserAction() {
$em=$this->getDoctrine()->getManager();
$orga = new \CCF\CCFBundle\Entity\Organiser;
$form = $this->createForm(new \CCF\CCFBundle\Form\OrganiserForm(), $orga);
$request = $this->get('request');
if ($request->getMethod() == 'POST') {
$form->bind($request);
var_dump($form->get('dteDebut')->getData());
if ($form->isValid()) {
$em->persist($orga);
$em->flush();
return $this->redirect($this->generateUrl('organiser_homepage'));
}
}
//on passe la méthode createView() à la vue pour qu'elle l'affiche
return $this->render('CCFBundle:Organiser:create.html.twig',array("form"=>$form->createView(),));
}
当我验证表单时出现一个错误
Error: Call to a member function format() on a non-object
堆栈跟踪
在 vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateType.php 的第 53 行 -
public function convertToDatabaseValue($value, AbstractPlatform $platform)
{
return ($value !== null)
? $value->format($platform->getDateFormatString()) : null;
}
/**
我不明白这个错误在哪里,你能帮我吗?
试试这个:
/**
* @var \DateTime
*
* @ORM\Column(name="date_debut", type="datetime", length=255)
*/
protected $dteDebut ;
function getDteDebut() {return $this->dteDebut;}
function setDteDebut(new \DateTime $dteDebut) {$this->dteDebut = $dteDebut;}
我也在我的一个实体中使用日期时间。我看到的一个变化是我没有在 setter 中指定变量是日期时间对象
setDteDebut($dteDebut) {...}
好吧,我的错...我在另一个属性上犯了一个错误...我有一个类型为日期的属性,这个属性有一个格式为字符串的类型...