binarycabin / laravel-uuid
A wrapper for webpatser/laravel-uuid with additional integration
Installs: 394 784
Dependents: 0
Suggesters: 0
Security: 0
Stars: 78
Watchers: 1
Forks: 10
Open Issues: 7
Requires
Requires (Dev)
- phpunit/phpunit: >5.0
This package is auto-updated.
Last update: 2024-12-23 04:15:58 UTC
README
A wrapper for webpatser/laravel-uuid with additional integration
composer require binarycabin/laravel-uuid
This package adds a very simple trait to automatically generate a UUID for your Models.
Simply add the "\BinaryCabin\LaravelUUID\Traits\HasUUID;" trait to your model:
<?php namespace App; use BinaryCabin\LaravelUUID\Traits\HasUUID; use Illuminate\Database\Eloquent\Model; class Project extends Model { use HasUUID; }
If your column name is not "uuid", simply add a new property to your model named "uuidFieldName":
protected $uuidFieldName = 'unique_id';
This trait also adds a scope:
\App\Project::byUUID('uuid')->first();
And static find method:
\App\Project::findByUUID('uuid')
A second trait is available if you use your UUIDs as primary keys:
<?php namespace App; use BinaryCabin\LaravelUUID\Traits\HasUUID; use BinaryCabin\LaravelUUID\Traits\UUIDIsPrimaryKey; use Illuminate\Database\Eloquent\Model; class Project extends Model { use HasUUID, UUIDIsPrimaryKey; }
It simply tells Laravel that your primary key isn't an auto-incrementing integer, so it will treat the value correctly.