我正在尝试用Doctrine编写一个查询,它将返回在特定天数内添加的记录,我的查询中有这一行,但没有按预期工作:
$q->andWhere('g.date_added >= ?', array(strtotime('-'.$recent_interval.' day')));date_added是一个mySQL时间戳。
recent_interval是天数。
我将Doctrine-1.2.4与Zend Framework 1.11.7一起使用
感谢你的帮助。
发布于 2011-07-05 20:06:00
MySQL时间戳的格式为YYYY-MM-DD HH:MM:SS。您正在将其与UNIX时间戳进行比较,后者是从strtotime()返回的数字。
您需要首先将UNIX时间戳转换为MySQL时间戳才能使其工作。
要格式化UNIX时间戳,可以使用PHP date()函数。格式为Y-m-d H:i:s。
示例:
$compare = date('Y-m-d H:i:s', strtotime('-'.$recent_interval.' day'));
$q->andWhere('g.date_added >= ?', array($compare));发布于 2011-07-05 20:08:06
您忘记了将数组更改为Doctrine可以理解的值:
以下内容将向您展示如何操作:
->andWhere('g.date_added >= ?',date('Y-m-d',strtotime("-2 weeks“)
https://stackoverflow.com/questions/6582286
复制相似问题