sayawrt / unik-id
Laravel中创建唯一ID的最佳方法
v2.0.1
2024-06-01 18:08 UTC
Requires
- php: ^7.4|^8.0
README
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
支持
感谢您的支持。