public function MerciResource::query in MERCI (Manage Equipment Reservations, Checkout and Inventory) 8.2
Return value
\Drupal\Core\Database\Query\SelectInterface
Overrides SqlBase::query
File
- modules/
merci_migration/ src/ Plugin/ migrate/ source/ d7/ MerciResource.php, line 59
Class
- MerciResource
- Drupal 7 node source from database.
Namespace
Drupal\merci_migration\Plugin\migrate\source\d7Code
public function query() {
// Select node in its last revision.
$query = $this
->select('node_revision', 'nr')
->fields('n', [
'nid',
'type',
'language',
'status',
'created',
'changed',
'comment',
'promote',
'sticky',
'tnid',
'translate',
])
->fields('nr', [
'vid',
'title',
'log',
'timestamp',
]);
$query
->addField('n', 'uid', 'node_uid');
$query
->addField('nr', 'uid', 'revision_uid');
$query
->innerJoin('node', 'n', static::JOIN);
// If the content_translation module is enabled, get the source langcode
// to fill the content_translation_source field.
if ($this->moduleHandler
->moduleExists('content_translation')) {
$query
->leftJoin('node', 'nt', 'n.tnid = nt.nid');
$query
->addField('nt', 'language', 'source_langcode');
}
$this
->handleTranslations($query);
if (isset($this->configuration['node_type'])) {
$query
->condition('n.type', $this->configuration['node_type']);
}
$query
->leftJoin('merci_resource_node', 'mrn', 'n.nid = mrn.nid');
$query
->fields('mrn', array(
'merci_default_availability',
'merci_sub_type',
'merci_late_fee_per_hour',
'merci_rate_per_hour',
'merci_fee_free_hours',
'merci_min_cancel_hours',
'merci_autocheckout',
'merci_autocheckin',
'merci_selfcheckout',
'merci_daypart1_price',
'merci_daypart2_price',
'merci_daypart3_price',
'merci_weekend_price',
));
$query
->leftJoin('merci_bucket_node', 'mbn', 'n.nid = mbn.nid');
$query
->fields('mbn', array(
'merci_default_availability',
'merci_sub_type',
'merci_late_fee_per_hour',
'merci_rate_per_hour',
'merci_fee_free_hours',
'merci_min_cancel_hours',
'merci_autocheckout',
'merci_autocheckin',
'merci_selfcheckout',
'merci_daypart1_price',
'merci_daypart2_price',
'merci_daypart3_price',
'merci_weekend_price',
));
$query
->condition($query
->orConditionGroup()
->condition('mrn.merci_sub_type', '1')
->condition('mbn.merci_sub_type', '1'));
$query
->join('merci_node_type', 'mnt', 'mnt.type = n.type');
$query
->fields('mnt');
return $query;
}