-
-
Notifications
You must be signed in to change notification settings - Fork 48
Open
Description
Revert not work
$post->getVersion(3)->revert();
$post->revertToVersion(3);
without comment out when VersionStrategy::DIFF
// if (! empty($this->contents)) {
// $this->versionable->setRawAttributes(array_merge($original, $this->contents));
// }
public function revertWithoutSaving(): ?Model
{
$original = $this->versionable->getRawOriginal();
switch ($this->versionable->getVersionStrategy()) {
case VersionStrategy::DIFF:
// v1 + ... + vN
$versionsBeforeThis = $this->previousVersions()->orderOldestFirst()->get();
foreach ($versionsBeforeThis as $version) {
if (! empty($version->contents)) {
$this->versionable->setRawAttributes(array_merge($original, $version->contents));
}
}
break;
case VersionStrategy::SNAPSHOT:
// v1 + vN
/** @var \Overtrue\LaravelVersionable\Version $initVersion */
$initVersion = $this->versionable->versions()->first();
if (! empty($initVersion->contents)) {
$this->versionable->setRawAttributes(array_merge($original, $initVersion->contents));
}
}
// if (! empty($this->contents)) {
// $this->versionable->setRawAttributes(array_merge($original, $this->contents));
// }
return $this->versionable;
}
Metadata
Metadata
Assignees
Labels
No labels