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