function NodeComplete::query

Same name in this branch
  1. 8.9.x core/modules/node/src/Plugin/migrate/source/d6/NodeComplete.php \Drupal\node\Plugin\migrate\source\d6\NodeComplete::query()
Same name in other branches
  1. 9 core/modules/node/src/Plugin/migrate/source/d6/NodeComplete.php \Drupal\node\Plugin\migrate\source\d6\NodeComplete::query()
  2. 9 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 26

Class

NodeComplete
Gets all node revisions from the 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.