2016-06-10 128 views
-1

當我部署我的生產環境中的應用程序,我收到此錯誤信息:Doctrine2錯誤:預期格式:年月日

無法數據庫值「2016年6月10日14點57分17秒」轉換成學說 輸入日期。預期格式:Y-m-d

這是什麼意思,我該如何解決?

+2

學說不能從數據庫日期(日期)學說轉換日期(日期時間)。 – Naumov

+1

你能提供你的實體的一些代碼嗎? –

+1

我懷疑你在Doctrine中指定了字段類型是Date,但是你提供了一個DateTime值。 – Egg

回答

0

2016-06-10 14:57:17被認爲是DateTime而不是Date

2016-06-10是你想保存的價值,所以,如果我認爲你的實體已經在這裏設置日期的方法有兩種方式與substr解決它的字符串削減爲10個字符YYYY MM DD

編輯您的二傳手通過過濾日期將它們設置爲你的實體之前

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

    return $this; 
} 

TRUNC數據修復

//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(); 

我建議你第一個。

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