【问题标题】:30 days in Doctrine SymfonyDoctrine Symfony 30 天
【发布时间】:2011-08-30 18:35:46
【问题描述】:

我想添加子句 where - 从现在起最多 30 天。

在数据库中我有时间戳:

2011-08-30 20:29:35

id  | name | date
1   | aaa  | 2011-08-30 20:29:35
2   | vvv  | 2011-08-10 20:29:35
3   | bbb  | 2011-07-10 20:29:35
4   | fff  | 2011-08-14 20:29:35
5   | ddd  | 2011-06-10 20:29:35


$query = Doctrine_Core::getTable('News')->createQuery('a');
$query->addWhere('date ????????');

如何获取最近 30 天的所有新闻?

【问题讨论】:

    标签: php symfony1 doctrine doctrine-1.2


    【解决方案1】:

    $query->andWhere('date > ?', date('Y-m-d', time() - 60*60*24*30))

    【讨论】:

      【解决方案2】:

      MySQL 提供了另一个方便的解决方案:

      WHERE date > DATE_SUB(NOW(), INTERVAL 30 DAY)
      

      见:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-add

      【讨论】:

      • 问题是关于教义的,而不是具体的 MySQL。提问者没有提到他/她的数据库引擎,所以我们应该假设他想要一个独立于数据库引擎的答案。
      猜你喜欢
      • 2016-07-18
      • 1970-01-01
      • 1970-01-01
      • 2016-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多