如何用Laravel生成报告票号?
How to generate report ticket number with Laravel?
目前正在进行失物招领项目,用户可以在其中遗忘物品时进行报告。
我正在使用 laravel 5.4,我的数据库中已经有一些数据,并且我已经根据我的客户提出了所有要求。但最后,我的客户希望我为每份报告添加唯一的报告编号。我已经用谷歌搜索了,但找不到与我的案例相似的教程
我完全是编程新手,任何帮助将不胜感激。
您可以使用 Unix 时间戳作为您的唯一字段。
$token = time();
现在将新报告保存到数据库时添加此标记。如果你想让它更独特,你可以添加一些更多的随机字符串,比如
在Laravel 5.8中你需要先使用use Illuminate\Support\Str;
这个。然后
$token = time().Str::random(5);
在以前的版本中它是这样的
$token = time().str_random(5);
有很多方法可以做到这一点,但请记住以下两个冲刺:
- 使用数据库中的自动递增列并向其中添加一些其他内容,例如当前日期,并确保在其中添加一些零(例如 20192208-00001)。
$date = new DateTime('now');
echo $id = $date->format('Y-m-d') . "-" . str_pad($ticket->id, 6, "0", STR_PAD_LEFT);
- 您也可以为此使用 Uuid。这些是唯一生成的数字,几乎不可能发生碰撞。要设置它,您需要一个支持它的库
composer require ramsey/uuid
。然后你可以像这样生成你的随机数:
$uuid4 = Uuid::uuid4();
echo $uuid4->toString(); // i.e. 25769c6c-d34d-4bfe-ba98-e0ee856f3e7a
目前正在进行失物招领项目,用户可以在其中遗忘物品时进行报告。
我正在使用 laravel 5.4,我的数据库中已经有一些数据,并且我已经根据我的客户提出了所有要求。但最后,我的客户希望我为每份报告添加唯一的报告编号。我已经用谷歌搜索了,但找不到与我的案例相似的教程
我完全是编程新手,任何帮助将不胜感激。
您可以使用 Unix 时间戳作为您的唯一字段。
$token = time();
现在将新报告保存到数据库时添加此标记。如果你想让它更独特,你可以添加一些更多的随机字符串,比如
在Laravel 5.8中你需要先使用use Illuminate\Support\Str;
这个。然后
$token = time().Str::random(5);
在以前的版本中它是这样的
$token = time().str_random(5);
有很多方法可以做到这一点,但请记住以下两个冲刺:
- 使用数据库中的自动递增列并向其中添加一些其他内容,例如当前日期,并确保在其中添加一些零(例如 20192208-00001)。
$date = new DateTime('now');
echo $id = $date->format('Y-m-d') . "-" . str_pad($ticket->id, 6, "0", STR_PAD_LEFT);
- 您也可以为此使用 Uuid。这些是唯一生成的数字,几乎不可能发生碰撞。要设置它,您需要一个支持它的库
composer require ramsey/uuid
。然后你可以像这样生成你的随机数:
$uuid4 = Uuid::uuid4();
echo $uuid4->toString(); // i.e. 25769c6c-d34d-4bfe-ba98-e0ee856f3e7a