Php 在DQL中查询表以获取上周创建的记录

Php 在DQL中查询表以获取上周创建的记录,php,mysql,zend-framework,timestamp,doctrine-1.2,Php,Mysql,Zend Framework,Timestamp,Doctrine 1.2,我试图在条令中编写一个查询,该查询将返回在特定天数内添加的记录,我的查询中有这一行,但没有按预期工作: $q->andWhere('g.date_added >= ?', array(strtotime('-'.$recent_interval.' day'))); 添加的日期是mySQL时间戳 最近的间隔是天数 我在Zend Framework 1.11.7中使用Doctrine-1.2.4 感谢您的帮助。MySQL时间戳的格式为YYYY-MM-DD HH:MM:SS。您将它与U

我试图在条令中编写一个查询,该查询将返回在特定天数内添加的记录,我的查询中有这一行,但没有按预期工作:

$q->andWhere('g.date_added >= ?', array(strtotime('-'.$recent_interval.' day')));
添加的日期是mySQL时间戳

最近的间隔是天数

我在Zend Framework 1.11.7中使用Doctrine-1.2.4

感谢您的帮助。

MySQL时间戳的格式为YYYY-MM-DD HH:MM:SS。您将它与UNIX时间戳进行比较,UNIX时间戳是从返回的数字

您需要首先将UNIX时间戳转换为MySQL时间戳才能使其正常工作

要格式化UNIX时间戳,可以使用PHP函数。格式是Y-m-dh:i:s

例如:

$compare = date('Y-m-d H:i:s', strtotime('-'.$recent_interval.' day'));
$q->andWhere('g.date_added >= ?', array($compare));
MySQL时间戳的格式为YYYY-MM-DD HH:MM:SS。您将它与UNIX时间戳进行比较,UNIX时间戳是从返回的数字

您需要首先将UNIX时间戳转换为MySQL时间戳才能使其正常工作

要格式化UNIX时间戳,可以使用PHP函数。格式是Y-m-dh:i:s

例如:

$compare = date('Y-m-d H:i:s', strtotime('-'.$recent_interval.' day'));
$q->andWhere('g.date_added >= ?', array($compare));

您忘了将阵列更改为您所理解的类型:

以下内容显示了要执行的操作:

->其中“g.date_added>=?”,日期“Y-m-d”,STROTIME-2周


您忘了将阵列更改为您所理解的类型:

以下内容显示了要执行的操作:

->其中“g.date_added>=?”,日期“Y-m-d”,STROTIME-2周


显然,您需要执行:strotime'-'.$recent_interval.'day'而不是我的-2周示例。显然,您需要执行:strotime'-'.$recent_interval.'day'而不是我的-2周示例。