omaressaouaf/laravel-id-generator 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

omaressaouaf/laravel-id-generator

最新稳定版本:1.3.0

Composer 安装命令:

composer require omaressaouaf/laravel-id-generator

包简介

Generate custom incremental unique ids for Laravel

README 文档

README

Latest Stable Version License Tests

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

GitHub 信息

  • Stars: 56
  • Watchers: 2
  • Forks: 4
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-02-28