1
0
Fork 0
mirror of https://github.com/archtechx/virtualcolumn.git synced 2025-12-14 05:34:02 +00:00

Merge pull request #7 from stein-j/master

Sync with original attributes
This commit is contained in:
Samuel Štancl 2022-01-04 12:05:03 +01:00 committed by GitHub
commit c5e70e832c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 0 deletions

View file

@ -30,6 +30,7 @@ trait VirtualColumn
foreach ($model->getAttribute(static::getDataColumn()) ?? [] as $key => $value) { foreach ($model->getAttribute(static::getDataColumn()) ?? [] as $key => $value) {
$model->setAttribute($key, $value); $model->setAttribute($key, $value);
$model->syncOriginalAttribute($key);
} }
$model->setAttribute(static::getDataColumn(), null); $model->setAttribute(static::getDataColumn(), null);
@ -52,6 +53,7 @@ trait VirtualColumn
])); ]));
unset($model->attributes[$key]); unset($model->attributes[$key]);
unset($model->original[$key]);
} }
} }

View file

@ -34,6 +34,7 @@ class VirtualColumnTest extends TestCase
// Model has the correct structure when retrieved // Model has the correct structure when retrieved
$model = MyModel::first(); $model = MyModel::first();
$this->assertSame('bar', $model->foo); $this->assertSame('bar', $model->foo);
$this->assertSame('bar', $model->getOriginal('foo'));
$this->assertSame(null, $model->data); $this->assertSame(null, $model->data);
// Model can be updated // Model can be updated
@ -43,7 +44,9 @@ class VirtualColumnTest extends TestCase
]); ]);
$this->assertSame('baz', $model->foo); $this->assertSame('baz', $model->foo);
$this->assertSame('baz', $model->getOriginal('foo'));
$this->assertSame('xyz', $model->abc); $this->assertSame('xyz', $model->abc);
$this->assertSame('xyz', $model->getOriginal('abc'));
$this->assertSame(null, $model->data); $this->assertSame(null, $model->data);
// Model can be retrieved after update & is structure correctly // Model can be retrieved after update & is structure correctly