0

我试图在我的查询中设置“日期=今天”条件。数据库中的日期存储为“1351504197”。

这是我的尝试:

->condition('cord.created',REQUEST_TIME - 3600, '<=')

这是完整的查询:

  $query = db_select('commerce_order', 'cord')->extend('TableSort');
  $query->join('commerce_line_item', 'li', 'cord.order_id = li.order_id');
  $query->join('commerce_product', 'item', 'item.sku = li.line_item_label');
  $query->fields('cord', array('order_id'))
        ->fields('li', array('quantity'))
        ->fields('item', array('title', 'sku'))
        ->groupBy('title')
        ->condition('cord.status', 'pending', '=')
        ->condition('cord.created',REQUEST_TIME - 3600, '<=')
        ->orderByHeader($header); 

  $query->addExpression("GROUP_CONCAT(li.order_id separator ', ')", 'order_id');         
  $query->addExpression('SUM(quantity)', 'quantity');

但是返回的结果当然是不正确的。

任何人都知道如何做到这一点?

4

2 回答 2

2

这看起来像一个unix时间戳。如果您使用本机 MySQL 日期/时间字段,则必须使用from_unixtime()unix_timestamp()在它们之间进行转换

于 2012-10-29T17:10:55.163 回答
0

解决方法是:

  $today = getdate();
  $start_time = mktime(0, 0, 0,$today['mon'],($today['mday'] - 1), $today['year']);
  $end_time = time();

  ->condition('cord.created', array($start_time, $end_time), 'BETWEEN')
于 2012-10-30T09:40:07.310 回答