From a8e83abd8f6615c40835086a44f62b06f63de54d Mon Sep 17 00:00:00 2001 From: Alexander Makarov Date: Sun, 21 May 2023 12:06:16 +0300 Subject: [PATCH] Fix #19743: Non-associative array values in AR weren't considered dirty when reordered --- framework/CHANGELOG.md | 1 + framework/db/BaseActiveRecord.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index 7caa3e3604..a9398b9a7f 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -4,6 +4,7 @@ Yii Framework 2 Change Log 2.0.48 under development ------------------------ +- Bug #19743: Non-associative array values in AR weren't considered dirty when reordered (samdark) - Bug #19807: Fix REST serializer not using `serializeModel()` when working with array of models (zucha) - Enh #19766: Add support for PHP generators to JSON helper (vladis84) - Bug #19683: Updated `framework\mimeType.php` to the actual value. Fix typo in `build/controllers/MimeTypeController.php` (DeryabinSergey) diff --git a/framework/db/BaseActiveRecord.php b/framework/db/BaseActiveRecord.php index 3e0dd316e5..06e6d7460f 100644 --- a/framework/db/BaseActiveRecord.php +++ b/framework/db/BaseActiveRecord.php @@ -1763,7 +1763,7 @@ abstract class BaseActiveRecord extends Model implements ActiveRecordInterface */ private function isValueDifferent($newValue, $oldValue) { - if (is_array($newValue) && is_array($oldValue)) { + if (is_array($newValue) && is_array($oldValue) && !ArrayHelper::isAssociative($oldValue)) { $newValue = ArrayHelper::recursiveSort($newValue); $oldValue = ArrayHelper::recursiveSort($oldValue); }