gid-m / laravel-autonumber
Laravel 包用于为 Eloquent 模型创建自增数字
v1.0.0
2022-04-14 06:57 UTC
Requires
- illuminate/config: ^5.1|^6.0|^7.0|^8.0|^9.0
- illuminate/database: ^5.1|^6.0|^7.0|^8.0|^9.0
- illuminate/support: ^5.1|^6.0|^7.0|^8.0|^9.0
This package is auto-updated.
Last update: 2024-09-14 12:57:14 UTC
README
Laravel 包用于为 Eloquent 模型创建自增数字
安装
您可以通过 composer 安装此包
composer require gid/laravel-autonumber
在 config/app.php
中注册 ServiceProvider
'providers' => [ // ... Gid\AutoNumber\AutoNumberServiceProvider::class, ],
发布默认配置
php artisan vendor:publish --provider='Gid\AutoNumber\AutoNumberServiceProvider'
运行迁移
php artisan migrate
使用方法
您的 Eloquent 模型应使用 Gid\AutoNumber\AutoNumberTrait
特性
特性中包含一个抽象方法 getAutoNumberOptions()
,您必须自己实现。
use Gid\AutoNumber\AutoNumberTrait; class Order extends Model { use AutoNumberTrait; /** * Return the autonumber configuration array for this model. * * @return array */ public function getAutoNumberOptions() { return [ 'order_number' => [ 'format' => 'SO.?', // autonumber format. '?' will be replaced with the generated number. 'length' => 5 // The number of digits in an autonumber ] ]; } }
您也可以传递一个 closure
用于格式值。
public function getAutoNumberOptions() { return [ 'order_number' => [ 'format' => function () { return 'SO/' . date('Ymd') . '/?'; // autonumber format. '?' will be replaced with the generated number. }, 'length' => 5 // The number of digits in the autonumber ] ]; }
保存模型
$order = Order::create([ 'customer' => 'Mr. X', ]);
在保存 Order 模型时,order_number 将根据给定的格式自动生成。
echo $order->order_number; // SO/20170803/00001
许可证
Laravel-autonumber 是开源软件,遵循 MIT 许可协议。
贡献
请在问题页面上报告您发现的所有问题。Pull requests 欢迎接受。