public function BeerNode::query in Migrate Plus 8
Same name and namespace in other branches
- 8.5 migrate_example/src/Plugin/migrate/source/BeerNode.php \Drupal\migrate_example\Plugin\migrate\source\BeerNode::query()
- 8.2 migrate_example/src/Plugin/migrate/source/BeerNode.php \Drupal\migrate_example\Plugin\migrate\source\BeerNode::query()
- 8.3 migrate_example/src/Plugin/migrate/source/BeerNode.php \Drupal\migrate_example\Plugin\migrate\source\BeerNode::query()
- 8.4 migrate_example/src/Plugin/migrate/source/BeerNode.php \Drupal\migrate_example\Plugin\migrate\source\BeerNode::query()
Return value
\Drupal\Core\Database\Query\SelectInterface
Overrides SqlBase::query
File
- migrate_example/
src/ Plugin/ migrate/ source/ BeerNode.php, line 25 - Contains \Drupal\migrate_example\Plugin\migrate\source\BeerNode.
Class
- BeerNode
- Source plugin for beer content.
Namespace
Drupal\migrate_example\Plugin\migrate\sourceCode
public function query() {
/**
* An important point to note is that your query *must* return a single row
* for each item to be imported. Here we might be tempted to add a join to
* migrate_example_beer_topic_node in our query, to pull in the
* relationships to our categories. Doing this would cause the query to
* return multiple rows for a given node, once per related value, thus
* processing the same node multiple times, each time with only one of the
* multiple values that should be imported. To avoid that, we simply query
* the base node data here, and pull in the relationships in prepareRow()
* below.
*/
$query = $this
->select('migrate_example_beer_node', 'b')
->fields('b', [
'bid',
'name',
'body',
'excerpt',
'aid',
'countries',
'image',
'image_alt',
'image_title',
'image_description',
]);
return $query;
}