sayawrt/unik-id

Laravel中创建唯一ID的最佳方法

v2.0.1 2024-06-01 18:08 UTC

This package is auto-updated.

Last update: 2024-10-02 05:45:24 UTC


README

Logo

SayaWRT - Unik ID

在Laravel框架中轻松创建唯一ID

安装

  composer require sayawrt/unik-id

如何使用它?

每次使用时都使用这个

  use SayaWRT\Unik\IdGenerator;
  public function store(Request $request){

	$id = IdGenerator::generate(['table' => 'todos', 'length' => 6, 'prefix' => date('y')]);

	$todo = new Todo();
	$todo->id = $id;
	$todo->title = $request->get('title');
	$todo->save();

}

参数

您必须在generate中提供一个关联数组,其中包含table、length、prefix

table您使用的表

field在表中使用的列 / 默认 'id'

length唯一ID的总字符长度

prefix您想使用的自定义前缀

reset_on_prefix_change默认true,如果前缀更改,将回到数字1

$config = [
    'table' => 'todos',
    'length' => 6,
    'prefix' => date('y')
];

// now use it
$id = IdGenerator::generate($config);
// use within single line code
$id = IdGenerator::generate(['table' => 'todos', 'length' => 6, 'prefix' => date('y')]);

// output: 160001

示例2

$id = IdGenerator::generate(['table' => 'invoices', 'length' => 10, 'prefix' =>'INV-']);
//output: INV-000001

示例3

$id = IdGenerator::generate(['table' => 'invoices', 'length' => 10, 'prefix' =>date('ym')]);
//output: 1910000001

示例4

$id = IdGenerator::generate(['table' => 'products','field'=>'pid', 'length' => 6, 'prefix' =>date('P')]);
//output: P00001

示例5

以下示例使用"reset_on_prefix_change"为TRUE

重置年度ID

$id = IdGenerator::generate(['table' => 'invoices', 'length' => 10, 'prefix' =>date('y')]);
//output: 2000000001,2000000002,2000000003
//output: 2100000001,2100000002,2100000003

重置月度ID

$id = IdGenerator::generate(['table' => 'invoices', 'length' => 10, 'prefix' =>date('ym')]);
//output: 1912000001,1912000002,1912000003
//output: 2001000001,2001000002,2001000003

或前缀的任何更改

$id = IdGenerator::generate(['table' => 'products', 'length' => 6, 'prefix' => $prefix]);
//output: A00001,A00002,B00001,B00002

支持

感谢您的支持。