GitHub - overtrue/laravel-versionable: Make Laravel model versionable
source link: https://github.com/overtrue/laravel-versionable
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
laravel-versionable
Make Laravel model versionable.
Installing
$ composer require overtrue/laravel-versionable -vvv
Optional, you can publish the config file:
$ php artisan vendor:publish --provider="Overtrue\\LaravelVersionable\\ServiceProvider" --tag=config
Then run this command to create a database migration:
$ php artisan migrate
Usage
Add Overtrue\LaravelVersionable\Versionable
trait to the model and set versionable attributes:
use Overtrue\LaravelVersionable\Versionable; class Post extends Model { use Versionable; /** * Versionable attributes * * @var array */ protected $versionable = ['title', 'content']; <...> }
Versions will be created on vensionable model saved.
$post = Post::create(['title' => 'version1', 'content' => 'version1 content']); $post->update(['title' => 'version2']);
Get versions
Get all versions
$post->versions;
Get last version
$post->lastVersion;
Reversion
Reversion a model instance to the specified version:
$post->getVersion(3)->revert(); // or $post->revertToVersion(3);
Remove All versions
$post->removeAllVersions();
Contributing
You can contribute in one of three ways:
- File bug reports using the issue tracker.
- Answer questions or fix bugs on the issue tracker.
- Contribute new features or update the wiki.
The code contribution process is not very formal. You just need to make sure that you follow the PSR-0, PSR-1, and PSR-2 coding guidelines. Any new code contributions must be accompanied by unit tests where applicable.
License
MIT
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK