brainstud / has-identifier
Add a HasIdentifier to the model to take care of generating the identifier
Installs: 4 516
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/brainstud/has-identifier
Requires
- php: ^7.4 || ^8.2
- laravel/framework: ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.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