maarheeze / uuid-laravel
1.1.0
2026-03-19 19:17 UTC
Requires
- php: ^8.2
- illuminate/contracts: ^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- illuminate/database: ^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- maarheeze/uuid: ^1.0
Requires (Dev)
- maarheeze/phpcs: ^1.0
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^12
README
Laravel integration for maarheeze/uuid. Provides an Eloquent cast and a trait for using uuid's as primary keys.
Requirements
- PHP 8.2+
- Laravel 8–12
Installation
composer require maarheeze/uuid-laravel
Usage
Using UUID as primary key
Add the HasUuidAsId trait to an Eloquent model, a uuid is automatically generated on creation.
use Illuminate\Database\Eloquent\Model; use Maarheeze\CalendarDate\Laravel\Model\Concerns\HasUuidAsId; class Article extends Model { use HasUuidAsId; }
$article = Article::create(['title' => 'Hello world']); $article->getKey(); // returns a UuidInterface instance
Casting a UUID column
Use UuidCast directly on any model attribute to cast it to a UuidInterface.
use Illuminate\Database\Eloquent\Model; use Maarheeze\CalendarDate\Laravel\Model\Casts\UuidCast; class Article extends Model { protected $casts = [ 'related_id' => UuidCast::class, ]; }
License
MIT