https://github.com/oddvalue introduced an amazing package Laravel Drafts which is a very simple drop-in draft and revision system for Eloquent models. This package also supports drafts for related models; you can control saving models in a published or draft mode. You can install the package via composer: composer require oddvalue/laravel-drafts You can publish the config file with: php artisan vendor:publish --tag="laravel-drafts-config" Add the HasDrafts trait to your model get(); You can implement a preview mode for your front end by calling the current scope when fetching records.