diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index 32a7fb1..241f95f 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -74,6 +74,7 @@ Yii Framework 2 Change Log - Enh #1973: `yii message/extract` is now able to generate `.po` files (SergeiKutanov, samdark) - Enh #1984: ActionFilter will now mark event as handled when action run is aborted (cebe) - Enh #2003: Added `filter` property to `ExistValidator` and `UniqueValidator` to support adding additional filtering conditions (qiangxue) +- Enh #2051: Do not save null data into database when using RBAC (qiangxue) - Enh: Added `favicon.ico` and `robots.txt` to default 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) diff --git a/framework/rbac/DbManager.php b/framework/rbac/DbManager.php index 111bf0a..c203586 100644 --- a/framework/rbac/DbManager.php +++ b/framework/rbac/DbManager.php @@ -449,7 +449,7 @@ class DbManager extends Manager 'type' => $type, 'description' => $description, 'biz_rule' => $bizRule, - 'data' => serialize($data), + 'data' => $data === null ? null : serialize($data), ]) ->execute(); return new Item([ @@ -496,7 +496,7 @@ class DbManager extends Manager ->queryOne(); if ($row !== false) { - if (($data = @unserialize($row['data'])) === false) { + if (!isset($row['data']) || ($data = @unserialize($row['data'])) === false) { $data = null; } return new Item([