在DQL中查询表以获取过去一周创建的记录
我正在尝试在 Doctrine 中编写一个查询,该查询将返回在一定天数内添加的记录,我的查询中有这一行,但没有按预期工作:
$q->andWhere('g.date_added >= ?', array(strtotime('-'.$recent_interval.' day')));
date_added 是 mySQL 时间戳。
centre_interval 是天数。
我正在使用 Doctrine-1.2.4 和 Zend Framework 1.11.7
感谢您的帮助。
I'm trying to write a query in Doctrine that will return records added within a certain numbr of days, I have this line in my query but doesn't work as expected:
$q->andWhere('g.date_added >= ?', array(strtotime('-'.$recent_interval.' day')));
date_added is a mySQL timestamp.
recent_interval is number of days.
I am using Doctrine-1.2.4 with Zend Framework 1.11.7
Appreciate the help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
MySQL 时间戳的格式为
YYYY-MM-DD HH:MM:SS
。您将其与 UNIX 时间戳 进行比较,后者是从strtotime()< 返回的数字/代码>
。
您需要首先将 UNIX 时间戳转换为 MySQL 时间戳才能使其工作。
要格式化 UNIX 时间戳,您可以使用 PHP
date()
函数。格式为
Ymd H:i:s
。例子:
The format of a MySQL timestamp is
YYYY-MM-DD HH:MM:SS
. You're comparing it with a UNIX timestamp which is a number returned fromstrtotime()
.You need to convert the UNIX timestamp into a MySQL timestamp first to make it work.
To format a UNIX timestamp, you can make use of the PHP
date()
function. The format isY-m-d H:i:s
.Example:
您忘记将数组更改为 Doctrine 可以理解的内容:
以下内容向您展示了该怎么做:
You've forgotten to change the array to something Doctrine understands:
The following shows you what to do: