Laravel Rewind — це потужний і ефективний пакет версій для ваших моделей Eloquent, створений Джаредом Кенноном. Цей пакунок зберігає комбінацію часткових відмінностей та повних знімків даних вашої моделі. Перемотування автоматично визначить найкоротший шлях між поточною версією, доступними знімками та вашою метою:
// Previous title: 'Old Title'
$post->title = 'New Title';
$post->save();
// Title goes back to 'Old Title'
Rewind::rewind($post);
$post->title = 'Rewind is Awesome!';
$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