brainstud / has-identifier
Add a HasIdentifier to the model to take care of generating the identifier
Installs: 3 158
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Requires
- php: ^7.4 || ^8.2
- laravel/framework: ^8.0 || ^9.0 || ^10.0 || ^11.0
Requires (Dev)
- orchestra/testbench: ^6.23
- phpunit/phpunit: ^9.5
README
Automatically fill the identifier
of your model by adding the HasIdentifier
trait.
Installation
Require the package
composer require brainstud/has-identifier
Usage
Add the HasIdentifier
trait to your model.
/** * @property string $identifier */ class Item extends Model { use HasIdentifier; protected $fillable = [ 'identifier' ]; }
The identifier will be filled on creation.
$model = Item::create(); echo $model->identifier;
Use a different identifier attribute
The trait will use the identifier
property of your model to generate an identifier to.
You can overwrite the property the trait uses by setting the identifierAttribute
on your model.
/** * @property string $identifier */ class Item extends Model { use HasIdentifier; protected string $identifierAttribute = 'uuid'; protected $fillable = [ 'uuid' ]; }
Find by identifier
There are different ways to get the model by identifier.
// Find method $model = Item::findByIdentifier($uuid); $model = Item::findOrFailByIdentifier($uuid); // Scope $model = Item::identifiedBy($uuid)->first();
Test
You can run the tests with
composer test
License
has-identifier is open-sourced software licensed under the MIT License