juniorb2ss/eloquent-uuid

Trait to implement UUID in Eloquent ORM

1.0.1 2017-08-08 15:47 UTC

This package is not auto-updated.

Last update: 2024-12-22 06:05:11 UTC


README

Build Status Code Coverage Laravel Scrutinizer Code Quality StyleCI Code Climate

The juniorb2ss/eloquent-uuid provider a simple trait to implement UUID to ORM.

Install

You can install this package via composer:

$ composer require juniorb2ss/eloquent-uuid~1.*

Eloquent Trait

use juniorb2ss\EloquentUuid\EloquentUuidTrait;

class User extends Authenticatable
{
    use Notifiable, EloquentUuidTrait;
    
    /**
    * UUID Column name used
    * 
    * @var string
    * @optional 
    */
    protected $uuidKey = 'uuid';
}

UUID Column

You need create new column in table model like uuid or custom name you can define in uuidKey model property

Example

$fields = $request->only(['email', 'name', 'password']);
$user = User::create($fields); // Creating user with auto-inject uuid field

dump($user->toArray());

/*[
    "id" => "1"
    "uuid" => "723e4628-7c35-11e7-89b1-0242bfc0df57",
    "name" => "Magdalena Zboncak"
    "email" => "nitzsche.katherine@gulgowski.com"  
  ]*/

Scope On UUID

use App\User;

$user = (new User)->onUuid('aae5f3f1-0f22-4a8b-9291-d2a9649d1490')
                  ->firstOrFail();

Tests

composer run test

Change log

Please see CHANGELOG for more information on what has changed recently.

Credits

License

The MIT License (MIT). Please see License File for more information.