jenbuzz/laravel-uuid

此包已被弃用,不再维护。未建议替代包。

使用 ramsey/uuid 向模型添加 uuid

2.2.0 2020-04-26 13:57 UTC

This package is auto-updated.

Last update: 2022-07-26 18:48:21 UTC


README

Build Status

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 许可 许可。