Browse Source

fixed broken UniqueValidator

tags/2.0.0-beta
Carsten Brandt 11 years ago
parent
commit
ed98df5cd8
  1. 6
      framework/yii/validators/UniqueValidator.php

6
framework/yii/validators/UniqueValidator.php

@ -65,12 +65,12 @@ class UniqueValidator extends Validator
$attributeName = $this->attributeName === null ? $attribute : $this->attributeName;
$attributes = $className::attributes();
if (!in_array($attribute, $attributes)) {
if (!in_array($attributeName, $attributes)) {
throw new InvalidConfigException("'$className' does not have an attribute named '$attributeName'.");
}
$query = $className::find();
$query->where([$attribute => $value]);
$query->where([$attributeName => $value]);
if (!$object instanceof ActiveRecord || $object->getIsNewRecord()) {
// if current $object isn't in the database yet then it's OK just to call exists()
@ -82,7 +82,7 @@ class UniqueValidator extends Validator
$n = count($objects);
if ($n === 1) {
if (in_array($attribute, $className::primaryKey())) {
if (in_array($attributeName, $className::primaryKey())) {
// primary key is modified and not unique
$exists = $object->getOldPrimaryKey() != $object->getPrimaryKey();
} else {

Loading…
Cancel
Save