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