如何在drupal 7中实现日期的添加表达式

时间:2015-01-15 11:08:00

标签: php mysql drupal drupal-7

当我尝试在表达式中使用时间格式的时间戳。我得到了错误

例如

$query->addExpression('date("H:i:s","dept_timestamp")','time_val');

1 个答案:

答案 0 :(得分:0)

我认为问题在于您已将PHP函数放入addExpression。它将您的表达式直接输入数据库,因此您将要使用数据库将理解的日期格式化函数。假设你使用MySQL作为后端,你需要这样的东西:

$query->addExpression('from_unixtime("dept_timestamp", "%h:%i:%s")', 'time_val');

这是一个完整的例子,无缘无故地加入了节点表和field_data_body表:

$query = db_select('node', 'n')
  ->fields('n', array('nid', 'title'));
$query->join('field_data_body', 'b', 'n.nid = b.entity_id');
$query->fields('b', array('body_value'));
$query->addExpression("from_unixtime(created, '%h:%i:%s')", 'my_timestamp');
$result = $query->execute();