これはかなり一般的なエラーのようですが、私の問題を修正した後では解決できませんでした。 私はいくつかのDateTimeフィールドを保持するエンティティを持っています。彼らは私のMySQLデータベースにDATETIME
と宣言されています。 ここに私のエンティティが関心Symfony文字列のメンバ関数format()への呼び出し
/**
* @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
)
{
エラー:文字列のメンバ関数形式()への呼び出し
Symfonyが納得していると思われ、日付を文字列として保存したいと思っていますが、理由を理解できません。 ご協力いただきありがとうございます。
メソッド 'getDateOuvertureDossier'が' string'か '\ DateTime'を返すかどうか確認できますか? –
setDateOuvertureDossierを設定するときには、string.RegardsではなくdateTimeオブジェクトを設定する必要があります。 – Albeis
@AlvinBunkはい、このような新しいDateTime($ this-> DateOuverture)のようなゲッターで新しいDateTimeオブジェクトを返そうとしました。次のエラーが表示されます:DateTime :: __ construct()は、パラメータ1が文字列であり、与えられたオブジェクトであると考えています。それはゲッターがDateTimeオブジェクトを返すことです。 –