omaressaouaf/laravel-id-generator
最新稳定版本:1.3.0
Composer 安装命令:
composer require omaressaouaf/laravel-id-generator
包简介
Generate custom incremental unique ids for Laravel
关键字:
README 文档
README
A Laravel package for generating custom auto-incrementing IDs with prefixes, suffixes, and date-based placeholders.
🚀 Features
- Auto-increment ID generation for any column.
- Allow custom prefixes & suffixes & padding
- Supports {DATE}, {MONTH}, and {YEAR} placeholders.
📥 Installation
Install via Composer:
composer require omaressaouaf/laravel-id-generator
📌 Usage
Basic Example
Generate an ID with a prefix and suffix and padding:
use Omaressaouaf\LaravelIdGenerator\IdGenerator; use App\Models\User; $id = IdGenerator::generate(Invoice::class, 'column_name', 5, 'INV-', '-2024'); echo $id; // INV-00001-2024
Dynamic Placeholders
{DATE}→2025-02-28{MONTH}→2025-02{YEAR}→2025
$id = IdGenerator::generate(Invoice::class, 'column_name', 5, 'INV-{YEAR}-'); echo $id; // INV-2025-00001
Initial starting point
Start from a specific number if there is no ID found in DB
$id = IdGenerator::generate(Invoice::class, 'column_name', 5, 'INV-', '', 5); echo $id; // INV-2025-00005
Generators
After installation, you can publish the package configuration file using:
php artisan vendor:publish --provider="Omaressaouaf\LaravelIdGenerator\LaravelIdGeneratorServiceProvider"
This will create a configuration file in config/laravel-id-generator.php, allowing you define custom generators for different tables or models.
return [ Invoice::class => [ 'field' => 'number', 'padding' => 5, 'prefix' => 'INV-', 'suffix' => '-{YEAR}', 'initial-starting-point' => 1 ], 'receipts' => [ 'field' => 'number', 'padding' => 3, 'prefix' => 'RC-', ] ];
Then you can use the generator
$id = IdGenerator::generateFromConfig(Invoice::class); echo $id; // INV-00001-2025
🛠️ Testing
Run unit tests:
composer test
📜 License
This package is licensed under the MIT License.
统计信息
- 总下载量: 4.85k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 56
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-02-28