marjose123 / laravel-numberizer
Laravel 包,用于为 Eloquent 模型创建自动编号
1.0.01
2023-11-18 16:11 UTC
Requires
- laravel/framework: ^8.0|^9.0|^10.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
This package is auto-updated.
Last update: 2024-09-08 02:51:05 UTC
README
介绍
Laravel-Numberizer
是基于 laravel-autonumber 的分支,支持最新版本的 Laravel。
安装
您可以通过 composer 安装此包
composer require marjose123/laravel-numberizer
您可以使用以下命令发布和运行迁移
php artisan vendor:publish --tag="numberizer-migrations"
php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="numberizer-config"
这是已发布配置文件的内容
return [ /* * '?' will be replaced with the increment number. */ 'placeholder' => '?', /* * The number of digits in the autonumber */ 'length' => (int) 6, /* * The Starting Value you want to start the creation of the incremental number */ 'startingValue' => (int) 11111 ];
用法
- 添加
AutoNumber
接口,并将HasNumberizer
关注点添加到您的模型中。
use \MarJose123\LaravelNumberizer\Contracts\AutoNumber; use \MarJose123\LaravelNumberizer\Concerns\HasNumberizer; class Purchase extends Model implements AutoNumber { use HasNumberizer; /** * Return the autonumber configuration array for this model. * * @return array */ public function getAutoNumberOptions() { return [ 'purchase_number' => [ 'format' => 'PO-?', // autonumber format. '?' will be replaced with the generated number. 'length' => 5 // The number of digits in an autonumber ] ]; } }
- 如果您想使用
closure
格式,可以这样做。
public function getAutoNumberOptions() { return [ 'purchase_number' => [ 'format' => function () { return 'PO-' . \Carbon\Carbon::today()->year . '-?'; // autonumber format. '?' will be replaced with the generated number. }, 'length' => 6 // The number of digits in the autonumber ] ]; }
在保存 Purchase 模型时,将根据给定的格式自动生成 purchase_number
。
测试
composer test
更新日志
请参阅更新日志以获取有关最近更改的更多信息。
贡献
请参阅贡献指南以获取详细信息。
安全漏洞
请参阅我们的安全策略以了解如何报告安全漏洞。
鸣谢
谢谢!
- laravel-autonumber - 为漂亮的插件。
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅许可证文件。