Join entity table if necessary and return the alias for it.
string $property:
string
\Drupal\Core\Entity\Query\QueryException
protected function ensureEntityTable($index_prefix, $property, $type, $langcode, $base_table, $id_field, $entity_tables) {
foreach ($entity_tables as $table => $schema) {
if (isset($schema['fields'][$property])) {
if (!isset($this->entityTables[$index_prefix . $table])) {
$this->entityTables[$index_prefix . $table] = $this
->addJoin($type, $table, "%alias.{$id_field} = {$base_table}.{$id_field}", $langcode);
}
return $this->entityTables[$index_prefix . $table];
}
}
throw new QueryException(format_string('@property not found', array(
'@property' => $property,
)));
}