Skip to content

Revert not change data #84

@SirajCse

Description

@SirajCse

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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions