PHP code example of richan-fongdasen / eloquent-blameable
1. Go to this page and download the library: Download richan-fongdasen/eloquent-blameable 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/ */
richan-fongdasen / eloquent-blameable example snippets
return [
/*
|--------------------------------------------------------------------------
| Authentication Guard
|--------------------------------------------------------------------------
|
| Please specify your default authentication guard to be used by blameable
| service. You can leave this to null if you're using the default Laravel
| authentication guard.
|
| You can also override this value in model classes to use a different
| authentication guard for your specific models.
| IE: Some of your models can only be created / updated by specific users
| who logged in from a specific authentication guard.
|
*/
'guard' => null,
/*
|--------------------------------------------------------------------------
| User Model Definition
|--------------------------------------------------------------------------
|
| Please specify a user model that should be used to setup `creator`
| and `updater` relationship.
|
*/
'user' => \App\User::class,
/*
|--------------------------------------------------------------------------
| The `createdBy` attribute
|--------------------------------------------------------------------------
|
| Please define an attribute to use when recording the creator
| identifier.
|
*/
'createdBy' => 'created_by',
/*
|--------------------------------------------------------------------------
| The `updatedBy` attribute
|--------------------------------------------------------------------------
|
| Please define an attribute to use when recording the updater
| identifier.
|
*/
'updatedBy' => 'updated_by',
/*
|--------------------------------------------------------------------------
| The `deletedBy` attribute
|--------------------------------------------------------------------------
|
| Please define an attribute to use when recording the user
| identifier who deleted the record. This feature would only work
| if you are using SoftDeletes in your model.
|
*/
'deletedBy' => 'deleted_by',
];
Schema::create('some_tables', function (Blueprint $table) {
// ...
$table->integer('created_by')->nullable();
$table->integer('updated_by')->nullable();
$table->integer('deleted_by')->nullable();
// ...
/**
* You can also create foreign key constrains
* for the blameable attributes.
*/
$table->foreign('created_by')
->references('id')->on('users')
->onDelete('cascade');
$table->foreign('updated_by')
->references('id')->on('users')
->onDelete('cascade');
});
use Illuminate\Database\Eloquent\Model;
use RichanFongdasen\EloquentBlameable\BlameableTrait;
class Post extends Model
{
use BlameableTrait;
// ...
}
/**
* You can override the default configuration
* by defining this static property in your Model
*/
protected static $blameable = [
'guard' => 'customGuard',
'user' => \App\User::class,
'createdBy' => 'user_id',
'updatedBy' => null
];
/**
* You can override the default configuration
* by defining this method in your Model
*/
public function blameable()
{
return [
'guard' => 'customGuard',
'user' => \App\User::class,
'createdBy' => 'user_id',
'updatedBy' => null
];
}
// Get all posts which have created by the given user id
Post::createdBy($userId)->get();
// Get all posts which have updated by the given user object
$user = User::findOrFail(1);
Post::updatedBy($user)->get();
// Get the creator user object
Post::findOrFail($postId)->creator;
// Get the updater user object
Post::findOrFail($postId)->updater;
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.