【发布时间】:2018-11-24 13:08:38
【问题描述】:
我的日期变量表现得很奇怪!我正在使用 Phalcon 查询生成器通过日期范围从数据库中获取一些记录。我的查询如下:
if(isset($filter['start_date']) && $filter['start_date'] != '' && isset($filter['end_date']) && $filter['end_date'] != ''){
$queryBuilder->where('e.created_at >= :startDate: AND e.created_at <= :endDate:');
$parameters = array('startDate' => $filter['start_date'], 'endDate' => $filter['end_date']);
}
在$parameters 中,当我像这样手动输入日期时,它工作正常,但是当我使用上述查询中的变量时,它不起作用:
$parameters = array('startDate' => "2012-10-11", 'endDate' => "2018-10-10");
var_dump($filter['start_date'] is string(10) "2012-10-11" 和结束日期 var_dump($filter['end_date'] is string(10) "2018-10-10"
日期数据类型:
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
在数据库中,日期以日期时间格式存储,如下例所示
2018-11-24 09:05:18
【问题讨论】:
-
您是否收到任何错误消息?您能否确认
$filter['start_date']和$filter['end_date']已定义且不为空,到目前为止,我认为您的陈述没有任何问题。也许您可以提供完整的$queryBuilder声明?
标签: php mysql date datetime phalcon