From 725c80c0ebed4d95a883a9f1095504822348b7bc Mon Sep 17 00:00:00 2001 From: Tigrov Date: Thu, 7 May 2026 20:13:58 +0700 Subject: [PATCH 1/2] Remove check for empty name in `markPropertyChanged()` --- src/AbstractActiveRecord.php | 2 +- tests/ActiveRecordTest.php | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/AbstractActiveRecord.php b/src/AbstractActiveRecord.php index 985f8d90c..511e629cd 100644 --- a/src/AbstractActiveRecord.php +++ b/src/AbstractActiveRecord.php @@ -391,7 +391,7 @@ public function link(string $relationName, ActiveRecordInterface $linkModel, arr public function markPropertyChanged(string $name): void { - if ($this->oldValues !== null && $name !== '') { + if ($this->oldValues !== null) { unset($this->oldValues[$name]); } } diff --git a/tests/ActiveRecordTest.php b/tests/ActiveRecordTest.php index b53f3844a..830da688b 100644 --- a/tests/ActiveRecordTest.php +++ b/tests/ActiveRecordTest.php @@ -1634,6 +1634,16 @@ public function testMarkPropertyChanged(): void $this->assertSame($expectedAffectedRows, $affectedRows); } + public function testMarkPropertyChangedWithEmptyName() + { + $model = new NullValues(); + $model->assignOldValues(['' => 'empty name', 'name' => 'Vasya']); + + $model->markPropertyChanged(''); + + $this->assertSame(['name' => 'Vasya'], $model->oldValues()); + } + public function testMarkAsNew(): void { $this->reloadFixtureAfterTest(); From f5e7951dfd72e03f86bb154110924b40af6738d2 Mon Sep 17 00:00:00 2001 From: Tigrov Date: Wed, 13 May 2026 14:12:22 +0700 Subject: [PATCH 2/2] Add line to CHANGELOG.md [skip ci] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 036d4bc04..a3ea2779f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ - Bug #561: Fix `ActiveRecordInterface::upsert()` with `$updateProperties = false` (@Tigrov) - Bug #550: Relation query should be created by related class, not primary model class (@batyrmastyr) - Enh #571: Optimize performance of `ActiveRecord::get()` method (@Tigrov) +- Enh #575: Remove check for empty string in `AbstractActiveRecord::markPropertyChanged()` method (@Tigrov) ## 1.0.2 March 11, 2026