定制 mindtwo/laravel-auto-create-uuid 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

mindtwo/laravel-auto-create-uuid

Composer 安装命令:

composer require mindtwo/laravel-auto-create-uuid

包简介

Automatically generate UUIDs for Eloquent models on creation and replication.

README 文档

README

Latest Stable Version run-tests PHPStan Total Downloads License

Automatically populate a UUID column on Eloquent models when they are created or replicated. Drop the trait onto any model and the rest works without configuration.

Installation

Install the package via Composer:

composer require mindtwo/laravel-auto-create-uuid

Requirements

  • PHP 8.2+
  • Laravel 10, 11, 12, or 13

Usage

Add the trait to a model

use Illuminate\Database\Eloquent\Model;
use mindtwo\LaravelAutoCreateUuid\AutoCreateUuid;

class Example extends Model
{
    use AutoCreateUuid;
}

Add a UUID column to the migration

$table->uuid('uuid')->unique();

The trait listens to the creating and replicating model events and fills the configured UUID column with a new UUID v4 whenever the column is empty or holds an invalid UUID.

Customize the UUID column

The default column name is uuid. To use a different column, either define a $uuid_column property:

class Example extends Model
{
    use AutoCreateUuid;

    protected string $uuid_column = 'identifier';
}

or override the getUuidColumn() method:

class Example extends Model
{
    use AutoCreateUuid;

    public function getUuidColumn(): string
    {
        return 'identifier';
    }
}

Replicating models

The trait overrides Model::replicate() to ensure the UUID column is excluded from the cloned attributes, so the replica receives a fresh UUID via the replicating event.

Testing

composer test

Static analysis

composer analyse

Code style

composer format

Changelog

Please see CHANGELOG for a list of recent changes.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email info@mindtwo.de instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 24.27k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 3
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 4
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-12-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固