我正在处理一个过滤器查询,它会返回某些日期之间的帖子,但是,我无法找到一种方法来比较PHP DateTime对象和数据库中的日期时间。过滤器组件以m / d / Y格式给出日期,数据库中的日期时间为m / d / Y H:i:s格式。
$posted_before = \DateTime::createFromFormat("m/d/Y", $posted_before);
$posted_before->format("m/d/Y H:i:s");
$query .= " AND t.posted_date >= $posted_before";
我正在使用Doctrine 2.0
答案 0 :(得分:1)
在我看来,您正在将一个对象注入到字符串中,尝试存储format();
的返回值。还可以根据MySQL格式设置日期格式:
$posted_before = \DateTime::createFromFormat("m/d/Y", $posted_before);
$posted_date = $posted_before->format("Y-m-d H:i:s");
$query .= " AND t.posted_date >= $posted_date";
答案 1 :(得分:0)
没有必要格式化Datetime对象,可以使用setParameter方法:
$qb->where('t.posted_date >= :minDatetime');
$qb->setParameter('minDatetime', $minDatetime);