1. Go to this page and download the library: Download mpociot/versionable library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
mpociot / versionable example snippets
// Restore to the previous change
$content->previousVersion()->revert();
// Get model from a version
$oldModel = Version::find(100)->getModel();
class Content extends Model {
use Mpociot\Versionable\VersionableTrait;
}
$model->createInitialVersion();
Model::initializeVersions();
class User extends Model {
use Mpociot\Versionable\VersionableTrait;
/**
* @var array
*/
protected $dontVersionFields = [ 'last_login_at' ];
}
class User {
use VersionableTrait;
// Typically hidden fields
protected $hidden = ['email', 'password'];
// Save these hidden fields
protected $versionedHiddenFields = ['email', 'password'];
}
class User {
use VersionableTrait;
// Keep the last 10 versions.
protected $keepOldVersions = 10;
}
$model->versions;
/**
* Create a diff against the current version
*/
$diff = $page->previousVersion()->diff();
/**
* Create a diff against a specific version
*/
$diff = $page->currentVersion()->diff( $version );
$user = User::find(1);
$user->disableVersioning();
// This will not create a new version entry.
$user->update([
'some_attribute' => 'changed value'
]);
class MyModelVersion extends Version
{
$table = 'mymodel_versions';
// ...
}
class MyModel extends Eloquent
{
use VersionableTrait ;
protected $versionClass = MyModelVersion::class ;
// ...
}