You are here

public function FarmArea::query in farmOS 2.x

Return value

\Drupal\Core\Database\Query\SelectInterface

Overrides Term::query

File

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

Class

FarmArea
Farm area source.

Namespace

Drupal\farm_migrate\Plugin\migrate\source\d7

Code

public function query() {

  // Set the bundle to "farm_areas".
  $this->configuration['bundle'] = 'farm_areas';

  // Get the parent class query.
  $query = parent::query();

  // Join the "area type" field.
  $query
    ->leftJoin('field_data_field_farm_area_type', 'fdffat', 'td.tid = fdffat.entity_id AND fdffat.deleted = 0');

  // If "area_type" is defined, filter by field_farm_area_type.
  if (!empty($this->configuration['area_type'])) {

    // If "area_type" is "any", don't filter.
    if ($this->configuration['area_type'] != 'any') {
      $query
        ->condition('fdffat.field_farm_area_type_value', (array) $this->configuration['area_type'], 'IN');
    }
  }
  else {
    $query
      ->isNull('fdffat.field_farm_area_type_value');
  }
  return $query;
}