2016-06-10 6 views
-1

Ich erhalte diese Fehlermeldung, wenn ich meine Anwendung in der Produktionsumgebung bereitstellen:Doctrine2 Fehler: Erwartetes Format: Ymd

Datenbank kann nicht Wert „2016.06.10 14.57.17“ zu Lehre konvertieren Geben Sie das Datum ein. Erwartetes Format: Y-m-d

Was bedeutet es, und wie kann ich es beheben?

+2

Lehre kann nicht Datum (Datumzeit) von der Datenbank auf dem neuesten Stand (Datum) Lehre konvertieren. – Naumov

+1

Können Sie einen Code Ihrer Entität bereitstellen? –

+1

Ich vermute, dass Sie in Doctrine angeben, dass der Feldtyp "Date" ist, aber Sie geben es einen "DateTime" -Wert. – Egg

Antwort

0

2016-06-10 14:57:17 wird als DateTime und nicht als Date betrachtet.

2016-06-10 ist der Wert, den Sie speichern möchten, so dass, wenn ich der Meinung, dass Ihr Unternehmen für die Einstellung hier Datum eine Methode hat, haben Sie zwei Möglichkeiten, es zu reparieren mit substr Zeichenfolge zu 10 Zeichen zu schneiden YYYY MM DD

Bearbeiten sie Ihre Setter durch Filterung Datum zu fixieren

public function setDate($date) 
{ 
    $this->dateNaissance = substr($date,0,10); 

    return $this; 
} 

Trunc Ihre Daten, bevor sie zu Ihrem Unternehmen Einstellung

//However you recover the value, this is an example 
$date = "2016-06-10 14:57:17" 

$entity->setDate(substr($date,0,10)); 
//Considerig $om is your manager 
$om->persist($entity); 
$om->flush(); 

Ich schlage Ihnen die erste vor.

substr: http://php.net/manual/fr/function.substr.php

Verwandte Themen