private function getQueryTableName($query)
{
if (empty($query->from)) {
/* @var $modelClass ActiveRecord */
$modelClass = $query->modelClass;
$tableName = $modelClass::tableName();
} else {
$tableName = '';
foreach ($query->from as $alias => $tableName) {
if (is_string($alias)) {
return [$tableName, $alias];
} else {
break;
}
}
}
if (preg_match('/^(.*?)\\s+({{\\w+}}|\\w+)$/', $tableName, $matches)) {
$alias = $matches[2];
} else {
$alias = $tableName;
}
return [$tableName, $alias];
}