eig / eloquent-uuid
为 Eloquent 模型添加 UUID 的简单工具
3.0.0
2022-12-08 16:41 UTC
Requires
- php: ^8.0.2
- eig/uuid: ^2.5.1
Requires (Dev)
- laravel/framework: >=9.3.0
- mockery/mockery: dev-master
- php-coveralls/php-coveralls: ^2.5.3
- phpunit/phpunit: ^9.5.10
README
一个用于轻松为支持 Laravel 5.5+ 的 Eloquent 模型添加 UUID 的包
用法
要使用 Eloquent 模型中的 UUID,使用以下命令安装包
composer require eig/eloquent-uuid
然后,在你的模型中,不要扩展 Model,而是像这样扩展 EloquentUUID
<?php
namespace App;
use eig\EloquentUUID\EloquentUUID;
class UUIDModel extends EloquentUUID
{
}
然后,在你的迁移中,确保将 id 设置为字符串或 uuid,如下所示
public function up()
{
Schema::create('client_models', function (Blueprint $table) {
$table->uuid('id');
$table->softDeletes();
$table->timestamps();
});
}
用户 UUID 模型
对于 Laravel 5.3+,框架自带的默认用户模型扩展了 Authenticatble 以支持新的多认证系统。要向用户模型添加 UUID,可以扩展 eig\EloquentUUID\UUIDUser,这将向用户添加 UUID 同时仍然扩展 Laravel 的 Authenticatable 类。扩展 EloquentUUID 的迁移方案与从 UUIDUser 扩展的迁移方案相同。
UUID 特性
从版本 1.1.0 开始,EloquentUUID 现在在 eig\EloquentUUID\Traits\UUID 命名空间中包含一个名为 UUID 的特性,您可以使用它来组合一个 UUID 类。该特性在 __constructor() 方法中实现了 UUID 分配。扩展 EloquentUUID 的迁移方案与使用 UUID 特性相同。
支持的 PHP 版本
- 5.6+ 使用 1.x 分支发布
- 7.0 使用 2.x+ 的 master 分支发布
- 7.1 & Laravel 5.5 使用 2.1 的 master 分支发布
- 7.2 & Laravel 6-7 使用 2.2 的 master 分支发布
- 8.1 & Laravel 8.x+ 使用 3.0 的 master 分支发布