我知道这似乎是一种非常常见的错误类型,但在查看之后,我无法找到解决问题的方法。
所以我有一个实体,它拥有几个DateTime字段。它们在我的MySQL数据库中声明为DATETIME
。
这里我的实体只是感兴趣的部分
/**
* @Doctrine\Column(name="dateOuvertureDossier", type="datetime", nullable=false)
* @Assert\NotBlank(message="Le date est obligatoire.")
*/
private $dateOuvertureDossier;
/**
* @Doctrine\Column(name="premiereDateEvaluation", type="datetime", nullable=false)
* @Assert\NotBlank(message="Le date est obligatoire.")
*/
private $premiereDateEvaluation;
/**
* @Doctrine\Column(name="deuxiemeDateEvaluation", type="datetime", nullable=true)
*/
private $deuxiemeDateEvaluation;
/**
* @Doctrine\Column(name="troisiemeDateEvaluation", type="datetime", nullable=true)
*/
private $troisiemeDateEvaluation;
/**
* @Doctrine\Column(name="quatriemeDateEvaluation", type="datetime", nullable=true)
*/
private $quatriemeDateEvaluation;
这里我的形式只是感兴趣的部分
$builder ->add('dateOuvertureDossier', DateTimeType::class, array(
'required' => true,
'input' => 'datetime'
))
->add('premiereDateEvaluation', DateTimeType::class, array(
'required' => true,
'input' => 'datetime'
))
->add('deuxiemeDateEvaluation', DateTimeType::class, array(
'required' => false,
'input' => 'datetime'
))
->add('troisiemeDateEvaluation', DateTimeType::class, array(
'required' => false,
'input' => 'datetime'
))
->add('quatriemeDateEvaluation', DateTimeType::class, array(
'required' => false,
'input' => 'datetime' ))
这是我在控制器中尝试做的一个例子
if($form->isSubmitted())
{
$miseAjourInfoSuiviDossier = $form->getData();
if($miseAjourInfoSuiviDossier->getUtilisateur() != null &&
$miseAjourInfoSuiviDossier->getCompagnieAssurance() != null &&
$miseAjourInfoSuiviDossier->getVilleClient() != null &&
$miseAjourInfoSuiviDossier->getNumeroDossierAssurance() != null &&
$miseAjourInfoSuiviDossier->getNomClient() != null &&
$miseAjourInfoSuiviDossier->getDateOuvertureDossier() != null &&
$miseAjourInfoSuiviDossier->getPremiereDateEvaluation() != null &&
$miseAjourInfoSuiviDossier->getGaa() != null &&
$miseAjourInfoSuiviDossier->getEtat() != null
)
{
错误:在字符串
上调用成员函数format()似乎Symfony感到困惑,并认为我希望将日期存储为字符串,但我无法弄清楚原因。 任何帮助将不胜感激,提前谢谢!
答案 0 :(得分:2)
您是否尝试删除格式()并简单地传递$ DateTimeOuvertureDossier?像这样:
$DateTimeOuvertureDossier = $miseAjourInfoSuiviDossier->getDateOuvertureDossier();
if($DateTimeOuvertureDossier != null)
{
$miseAjourInfoSuiviDossier->setDateOuvertureDossier($DateTimeOuvertureDossier);
}