Refactored solution to be contained within ActiveQuery instead of helper

This commit is contained in:
Alexander Makarov
2017-04-25 23:12:50 +03:00
parent 8474927a55
commit 7db93fc33d
6 changed files with 172 additions and 211 deletions

View File

@@ -250,11 +250,14 @@ class UniqueValidator extends Validator
// Add table prefix for column
$targetClass = $this->getTargetClass($model);
/** @var ActiveRecord $targetClass */
$query = $targetClass::find();
$tableAlias = ActiveQueryHelper::getTablesAlias($query)[0];
$tableAliases = $query->getFromAliases();
$primaryTableAlias = $tableAliases[0];
$prefixedConditions = [];
foreach ($conditions as $columnName => $columnValue) {
$prefixedColumn = "{$tableAlias}.{$columnName}";
$prefixedColumn = "{$primaryTableAlias}.{$columnName}";
$prefixedConditions[$prefixedColumn] = $columnValue;
}