[Laravel 扩展包]Laravel Rewind - Eloquent 的版本控制包
Laravel Rewind 是 Jared Cannon 创建的为 Eloquent 模型提供的一个强大而高效的版本控制包。此包存储模型数据的部分差异和完整快照的组合。Rewind 将自动确定当前版本、可用快照和目标之间的最短路径:
// 旧的标题: 'Old Title'
$post->title = 'New Title';
$post->save();
// 标题回退到 'Old Title'
Rewind::rewind($post);
$post->title = 'Rewind is Awesome!';
$post->save();
要在模型上启用版本跟踪,只需在模型上设置 Requireable
trait 即可:
use AvocetShores\LaravelRewind\Concerns\Rewindable;
class Post extends Model
{
use Rewindable;
}
主特性
- 倒退到特定版本
- 快进一个或多个版本
- 将模型移动到特定版本
- 线程安全防止模型覆盖
- 从版本控制中排除属性
- 从特定版本中创建属性
- 在特定版本中克隆模型
- 等等...
有关更多详细信息,请访问 laravel-rewind GitHub存储库,并探索其丰富的文档和示例。你可以使用以下命令使用 Composer 安装此软件包:
composer require avocet-shores/laravel-rewind
php artisan vendor:publish --provider="AvocetShores\LaravelRewind\LaravelRewindServiceProvider"
php artisan migrate