Laravel Rewind to potężny i wydajny pakiet wersyjny dla modeli Eloquent stworzony przez Jareda Cannona. Ten pakiet przechowuje kombinację częściowych różnic i pełnych migawek danych modelu. Przewijanie do tyłu automatycznie określi najkrótszą ścieżkę między bieżącą wersją, dostępnymi migawkami a celem:
// 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();
Aby włączyć śledzenie wersji w modelu, wystarczy cecha Rewindable w modelu:
use AvocetShores\LaravelRewind\Concerns\Rewindable;
class Post extends Model
{
use Rewindable;
}
Główne cechy
- Przewiń do określonej wersji
- Przewijanie do przodu jednej lub wielu wersji
- Przenoszenie modelu do określonej wersji
- Bezpieczeństwo wątków w celu zapobieżenia nadpisywaniu modelu
- Wykluczanie atrybutów z przechowywania wersji
- Tworzenie atrybutów na podstawie określonej wersji
- Klonowanie modelu w określonej wersji
- I więcej...
Aby uzyskać więcej informacji, odwiedź repozytorium GitHub laravel-rewind i zapoznaj się z jego obszerną dokumentacją i przykładami. Możesz zainstalować ten pakiet za pomocą Composera, używając następującego polecenia:
composer require avocet-shores/laravel-rewind
php artisan vendor:publish --provider="AvocetShores\LaravelRewind\LaravelRewindServiceProvider"
php artisan migrate