marjose123/laravel-numberizer

Laravel 包,用于为 Eloquent 模型创建自动编号

1.0.01 2023-11-18 16:11 UTC

This package is auto-updated.

Last update: 2024-09-08 02:51:05 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

介绍

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
];

用法

  1. 添加 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
            ]
        ];
    }

}
  1. 如果您想使用 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

更新日志

请参阅更新日志以获取有关最近更改的更多信息。

贡献

请参阅贡献指南以获取详细信息。

安全漏洞

请参阅我们的安全策略以了解如何报告安全漏洞。

鸣谢

谢谢!

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅许可证文件