tfsthiagobr98 / laravel-naming-series
为您的模型生成自定义ID
2.0.0
2024-03-14 12:57 UTC
Requires
- php: ^8.3
- illuminate/contracts: ^11.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- larastan/larastan: ^2.9.2
- laravel/pint: ^1.0
- nunomaduro/collision: ^8.1
- orchestra/testbench: ^9.0
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-09-29 13:44:27 UTC
README
在这里放置您的描述。限制在一到两段话。考虑添加一个小的示例。
安装
您可以通过composer安装此包
composer require tfsthiagobr98/laravel-naming-series
您可以使用以下命令发布和运行迁移
php artisan vendor:publish --tag="laravel-naming-series-migrations"
php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="laravel-naming-series-config"
这是发布后的配置文件内容
return [ 'database' => [ 'connection' => null, 'table' => 'naming_series', ], 'split_with' => '.', 'initial_increment' => 1000, ];
使用方法
use TFSThiagoBR98\LaravelNamingSeries\Contracts\HasNamingSeries; use TFSThiagoBR98\LaravelNamingSeries\Concerns\UsingNamingSeries; class Contract extends Model implements HasNamingSeries { use UsingNamingSeries; /** * Indicates if the model uses unique ids. * * @var bool */ public $usesUniqueIds = true; /** * Field => Format list for model fields * * @var array<string,string> */ public static function getSerieList(): array { return [ 'code' => 'CNT-.YY.MM.####', ]; } /** * Get the columns that should receive a unique identifier. * * @return array */ public function uniqueIds() { return [ 'code' => 'getSeriesField', // your series field ]; }
可用别名
序列格式必须使用.
字符分割成部分。例如:CNT-.YY.MM.####
其中:CNT-
是字面字符串,YY
和MM
是变量,####
是顺序号。
#
:数字序列(())YY
:年份(2位数字)YYYY
:年份(4位数字)MM
:月份DD
:日WW
:ISO周计数TS
:时间戳(毫秒)TL
:时间戳(秒)
测试
composer test
变更日志
请参阅CHANGELOG了解最近更改的更多信息。
贡献
请参阅CONTRIBUTING了解详细信息。
安全漏洞
请审查我们的安全策略了解如何报告安全漏洞。
鸣谢
许可协议
MIT许可协议(MIT)。有关更多信息,请参阅许可文件。