function NodeComplete::query

Same name in this branch
  1. 9 core/modules/node/src/Plugin/migrate/source/d6/NodeComplete.php \Drupal\node\Plugin\migrate\source\d6\NodeComplete::query()
Same name in other branches
  1. 8.9.x core/modules/node/src/Plugin/migrate/source/d6/NodeComplete.php \Drupal\node\Plugin\migrate\source\d6\NodeComplete::query()
  2. 8.9.x core/modules/node/src/Plugin/migrate/source/d7/NodeComplete.php \Drupal\node\Plugin\migrate\source\d7\NodeComplete::query()
  3. 10 core/modules/node/src/Plugin/migrate/source/d6/NodeComplete.php \Drupal\node\Plugin\migrate\source\d6\NodeComplete::query()
  4. 10 core/modules/node/src/Plugin/migrate/source/d7/NodeComplete.php \Drupal\node\Plugin\migrate\source\d7\NodeComplete::query()
  5. 11.x core/modules/node/src/Plugin/migrate/source/d6/NodeComplete.php \Drupal\node\Plugin\migrate\source\d6\NodeComplete::query()
  6. 11.x core/modules/node/src/Plugin/migrate/source/d7/NodeComplete.php \Drupal\node\Plugin\migrate\source\d7\NodeComplete::query()

Overrides Node::query

File

core/modules/node/src/Plugin/migrate/source/d7/NodeComplete.php, line 31

Class

NodeComplete
Drupal 7 all node revisions source, including translation revisions.

Namespace

Drupal\node\Plugin\migrate\source\d7

Code

public function query() {
    $query = parent::query();
    $query->orderBy('nr.vid');
    // Get any entity translation revision data.
    if ($this->getDatabase()
        ->schema()
        ->tableExists('entity_translation_revision')) {
        $query->leftJoin('entity_translation_revision', 'etr', '[nr].[nid] = [etr].[entity_id] AND [nr].[vid] = [etr].[revision_id]');
        $query->fields('etr', [
            'entity_type',
            'entity_id',
            'revision_id',
            'source',
            'translate',
        ]);
        $conditions = $query->orConditionGroup();
        $conditions->condition('etr.entity_type', 'node');
        $conditions->isNull('etr.entity_type');
        $query->condition($conditions);
        $query->addExpression("COALESCE([etr].[language], [n].[language])", 'language');
        $query->addField('etr', 'uid', 'etr_uid');
        $query->addField('etr', 'status', 'etr_status');
        $query->addField('etr', 'created', 'etr_created');
        $query->addField('etr', 'changed', 'etr_changed');
        $query->orderBy('etr.revision_id');
        $query->orderBy('etr.language');
    }
    return $query;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.