Permalink
Browse files

Fixes #1641: Added `BaseActiveRecord::updateAttributes()`

  • Loading branch information...
qiangxue committed Dec 26, 2013
1 parent 68cb074 commit 7eccd9d926ea6ff96a82825f5ae831a80e727c97
Showing with 31 additions and 1 deletion.
  1. +1 −0 framework/CHANGELOG.md
  2. +30 −1 framework/yii/db/BaseActiveRecord.php
View
@@ -31,6 +31,7 @@ Yii Framework 2 Change Log
- Enh #1581: Added `ActiveQuery::joinWith()` and `ActiveQuery::innerJoinWith()` to support joining with relations (qiangxue)
- Enh #1601: Added support for tagName and encodeLabel parameters in ButtonDropdown (omnilight)
- Enh #1611: Added `BaseActiveRecord::markAttributeDirty()` (qiangxue)
- Enh #1641: Added `BaseActiveRecord::updateAttributes()` (qiangxue)
- Enh: Added `favicon.ico` and `robots.txt` to defauly application templates (samdark)
- Enh: Added `Widget::autoIdPrefix` to support prefixing automatically generated widget IDs (qiangxue)
- Enh: Support for file aliases in console command 'message' (omnilight)
@@ -637,7 +637,36 @@ public function update($runValidation = true, $attributes = null)
}
/**
* @see CActiveRecord::update()
* Updates the specified attributes.
*
* This method is a shortcut to [[update()]] when data validation is not needed
* and only a list of attributes need to be updated.
*
* You may specify the attributes to be updated as name list or name-value pairs.
* If the latter, the corresponding attribute values will be modified accordingly.
* The method will then save the specified attributes into database.
*
* Note that this method will NOT perform data validation.
*
* @param array $attributes the attributes (names or name-value pairs) to be updated
* @return integer|boolean the number of rows affected, or false if [[beforeSave()]] stops the updating process.
*/
public function updateAttributes($attributes)
{
$attrs = [];
foreach ($attributes as $name => $value) {
if (is_integer($name)) {
$attrs[] = $value;
} else {
$this->$name = $value;
$attrs[] = $name;
}
}
return $this->update(false, $attrs);
}
/**
* @see update()
* @throws StaleObjectException
*/
protected function updateInternal($attributes = null)

0 comments on commit 7eccd9d

Please sign in to comment.