ramdani10 / lara-autonumber
此包最新版本(v1.0.0)没有可用的许可证信息。
Laravel 包,用于为 Eloquent 创建自动编号
v1.0.0
2022-07-04 07:04 UTC
Requires
- php: >=7.4
- illuminate/config: ^5.1|^6.0|^7.0|^8.0
- illuminate/database: ^5.1|^6.0|^7.0|^8.0
- illuminate/support: ^5.1|^6.0|^7.0|^8.0
This package is not auto-updated.
Last update: 2024-09-24 16:09:39 UTC
README
Laravel 包,用于 Eloquent 模型创建自动编号
安装
通过 composer 安装此包
composer require ramdani10/lara-autonumber
在 config/app.php
中注册 ServiceProvider
'providers' => [ // ... Ramdani10\AutoNumber\AutoNumberServiceProvider::class, ],
发布配置
php artisan vendor:publish --provider='Ramdani\AutoNumber\AutoNumberServiceProvider'
运行迁移
php artisan migrate
用法
在模型中使用 Ramdani10\AutoNumber\AutoNumberTrait
特性
实现方法 getAutoNumberOptions()
。
use Ramdani10\AutoNumber\AutoNumberTrait; class Category extends Model { use AutoNumberTrait; /** * Return the autonumber configuration array for this model. * * @return array */ public function getAutoNumberOptions() { return [ 'code' => [ 'format' => 'CA.?', // autonumber format. '?' will be replaced with the generated number. 'length' => 3 // digits number ] ]; } }
传递一个 closure
用于格式值。
public function getAutoNumberOptions() { return [ 'order_number' => [ 'format' => function () { return 'CA/' . date('Ymd') . '/?'; // autonumber format. '?' will be replaced with the generated number. } 'length' => 5 // The number of digits in the autonumber ] ]; }
保存模型
$category = Category::create([ 'name' => 'Category A', ]);
根据格式自动生成代码。
dd($category->code); // CA/20170803/00001