两个左联接的Drupal 7 db_select问题

时间:2019-04-25 20:18:51

标签: php mysql drupal drupal-7 wrapper

Drupal 7查询包装器出现问题。

我有以下查询:

SELECT n.nid
FROM node AS n
LEFT JOIN start AS s ON s.entity_id = n.nid
LEFT JOIN end AS e ON e.entity_id = n.nid
WHERE s.field_date_start_value > e.field_date_end_value

“ field_date_start_value”和“ field_date_end_value”均为UNIX TIMESTAMP。

这不会返回任何结果。

但这是用Drupal 7包装器编写的:

$query = db_select('node', 'n')
    ->fields('n', array('nid'))
    ->condition('s.field_date_start_value', 'e.field_date_end_value', '>');

$query->leftJoin('start', 's', 's.entity_id = n.nid');
$query->leftJoin('end', 'e', 'e.entity_id = n.nid');

$query->execute()->fetchAll();

返回1000行。

我根本看不到我在做什么错...

0 个答案:

没有答案