jenbuzz / laravel-uuid
此包已被弃用,不再维护。未建议替代包。
使用 ramsey/uuid 向模型添加 uuid
2.2.0
2020-04-26 13:57 UTC
Requires
- php: ^7.2
- illuminate/database: ^7.6
- illuminate/support: ^7.6
- ramsey/uuid: ^4.0.1
Requires (Dev)
- phpunit/phpunit: ^6.0|^7.0
README
Laravel UUID
此包可以轻松地将使用 ramsey/uuid 生成的 uuid 添加到 Eloquent 模型中。
安装
composer require jenbuzz/laravel-uuid
文档
要为新的模型自动创建 uuid,只需包含 uuid 特性,如下例所示
<?php namespace App; use Illuminate\Database\Eloquent\Model; use Jenbuzz\LaravelUuid\Traits\Uuid; class MyModel extends Model { use Uuid; }
有几种选项可以指定应生成的 uuid:'uuidVersion'、'uuidString'、'uuidColumnName' 和 'uuidGenerateOnSave'。但首先...
默认值是
- uuidVersion = 4
- uuidString = ''
- uuidColumnName = 'uuid'
- uuidGenerateOnSave = false
最后一个选项,'uuidGenerateOnSave',将在设置为 true 时在下一次保存操作上为元素生成 uuid。如果稍后引入了 uuid,并且现有元素需要 uuid,这可能很有用。
要更改这些选项,它们可以在模型的类属性中指定,如下例所示
<?php namespace App; use Illuminate\Database\Eloquent\Model; use Jenbuzz\LaravelUuid\Traits\Uuid; class MyModel extends Model { use Uuid; protected $uuidVersion = 5; protected $uuidString = 'lorem'; protected $uuidColumnName = 'my_uuid'; protected $uuidGenerateOnSave = true; }
uuid 特性还向模型添加了一个 'find' 函数,这使得通过 uuid 查找元素变得容易。这可以像以下代码片段那样完成
<?php $element = MyModel::findByUuid('3059dbe0-20d4-4591-9b02-1f77a1826544');
许可
此包是开源软件,根据 MIT 许可 许可。