diff --git a/framework/yii/db/ActiveRecord.php b/framework/yii/db/ActiveRecord.php index 8f78fac..7a11288 100644 --- a/framework/yii/db/ActiveRecord.php +++ b/framework/yii/db/ActiveRecord.php @@ -572,11 +572,16 @@ class ActiveRecord extends Model * Sets the old value of the named attribute. * @param string $name the attribute name * @param mixed $value the old attribute value. + * @throws InvalidParamException if the named attribute does not exist. * @see hasAttribute */ public function setOldAttribute($name, $value) { - $this->_oldAttributes[$name] = $value; + if (isset($this->_oldAttributes[$name]) || isset($this->getTableSchema()->columns[$name])) { + $this->_oldAttributes[$name] = $value; + } else { + throw new InvalidParamException(get_class($this) . ' has no attribute named "' . $name . '".'); + } } /**