2014-03-12 49 views
5

當我嘗試從數據庫中選擇一些項目與教條時,symfony中有一個問題。symfony教義類型日期時間預期格式y-m-d h:i:s

我運行此:

$allOrders = $em->getRepository('MyBundle:Dieta')->findBy(array('diet_status'=>'active')); 
var_dump($allOrders); 

而且我得到以下錯誤:

Could not convert database value "2014-03-03" to Doctrine Type datetime. Expected format: Y-m-d H:i:s

當我插入數據庫的日期我不喜歡這樣寫道:

$format = 'd/m/Y'; 
$date = \DateTime::createFromFormat($format, $_POST['dietStartDate']); 
$dietStartDate = $date->format('Y-m-d H:i:s'); 
$dietStartDate = new \Datetime($dietStartDate); 

$timestamp = strtotime(str_replace('/', '-', $_POST['dietStartDate'])); 
$timestamp7 = strtotime('+7 days', $timestamp); 
$datetime = date("Y-m-d H:i:s", $timestamp7); 
$dietDateEnd = new \Datetime($datetime); 

$dietStartDate$dietDateEnd插入到數據庫中的日期時間列中。在doctrine.yml中,我也將它聲明爲datetime。

任何想法?

回答

7

從值"2014-03-03"看來,您的數據庫列類型是date而不是datetime

運行php app/console doctrine:schema:update檢查是否有變化。

+0

你很對!我收到了已經構建的數據庫,並沒有看到這一點。謝謝你我的朋友,你爲我節省了寶貴的時間。 –