Laravel Rewind — це ефективний пакет версій для ваших Eloquent моделей, розроблений Jared Cannon. Він зберігає комбінацію часткових відмінностей та повних знімків ваших даних моделі. Rewind автоматично визначає найкоротший шлях між поточною версією, доступними знімками та вашою метою:
// Попередня назва: 'Стара Назва'
$post->title = 'Нова Назва';
$post->save();
// Назва повертається до 'Стара Назва'
Rewind::rewind($post);
$post->title = 'Rewind — це чудово!';
$post->save();
Щоб увімкнути відстеження версій для моделі, достатньо додати Rewindable
трейт до вашої моделі:
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