当我尝试使用doctrine从数据库中选择一些项目时,我在symfony中遇到了问题.
我运行这个:
$allOrders = $em->getRepository('MyBundle:Dieta')->findBy(array('diet_status'=>'active')); var_dump($allOrders);
我收到以下错误:
无法将数据库值"2014-03-03"转换为Doctrine Type datetime.预期格式:Ymd 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.
有任何想法吗 ?
从值开始"2014-03-03"
,您的数据库列类型似乎是date
但不是datetime
.
运行php app/console doctrine:schema:update
以检查是否有更改.