我试图在查询中设置'date = today'条件。 DB中的日期存储为“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');
但当然返回的结果不正确。
任何人都知道如何做到这一点?
答案 0 :(得分:2)
这看起来像一个unix时间戳。如果您使用的是原生MySQL日期/时间字段,则必须使用from_unixtime()或unix_timestamp()
在它们之间进行转换答案 1 :(得分: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')