Drupal 7 db_select проблема с двумя левыми соединениями - PullRequest
0 голосов
/ 25 апреля 2019

У меня проблема с упаковщиком запросов 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 строк.

Я просто не вижу, чтоЯ делаю не так ...

...