Laravel Rewind — це пакет версіонування для Eloquent

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 22 січня, 2025
Ви коли-небудь замислювалися, як зручно відстежувати зміни у ваших моделях Eloquent? Ознайомтеся з Laravel Rewind – потужним пакетом, який дозволяє швидко та ефективно керувати версіями, забезпечуючи легкий доступ до попередніх станів ваших даних

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