You are here

public function FieldLabelDescriptionTranslation::query in Drupal 8

Same name in this branch
  1. 8 core/modules/field/src/Plugin/migrate/source/d6/FieldLabelDescriptionTranslation.php \Drupal\field\Plugin\migrate\source\d6\FieldLabelDescriptionTranslation::query()
  2. 8 core/modules/field/src/Plugin/migrate/source/d7/FieldLabelDescriptionTranslation.php \Drupal\field\Plugin\migrate\source\d7\FieldLabelDescriptionTranslation::query()
Same name and namespace in other branches
  1. 9 core/modules/field/src/Plugin/migrate/source/d7/FieldLabelDescriptionTranslation.php \Drupal\field\Plugin\migrate\source\d7\FieldLabelDescriptionTranslation::query()

Return value

\Drupal\Core\Database\Query\SelectInterface

Overrides SqlBase::query

File

core/modules/field/src/Plugin/migrate/source/d7/FieldLabelDescriptionTranslation.php, line 20

Class

FieldLabelDescriptionTranslation
Gets field label and description translations.

Namespace

Drupal\field\Plugin\migrate\source\d7

Code

public function query() {

  // Get translations for field labels and descriptions.
  $query = $this
    ->select('i18n_string', 'i18n')
    ->fields('i18n')
    ->fields('lt', [
    'lid',
    'translation',
    'language',
    'plid',
    'plural',
    'i18n_status',
  ])
    ->fields('fci', [
    'id',
    'field_id',
    'field_name',
    'entity_type',
    'bundle',
    'data',
    'deleted',
  ])
    ->condition('i18n.textgroup', 'field');
  $condition = $query
    ->orConditionGroup()
    ->condition('textgroup', 'field')
    ->condition('objectid', '#allowed_values', '!=');
  $query
    ->condition($condition);
  $query
    ->innerJoin('locales_target', 'lt', 'lt.lid = i18n.lid');
  $query
    ->leftjoin('field_config_instance', 'fci', 'fci.bundle = i18n.objectid AND fci.field_name = i18n.type');
  return $query;
}