Php 如何使用Laravel生成报告票号?
目前正在进行失物招领项目,用户可以在留下东西时制作报告 我使用的是laravel 5.4,我的数据库中已经有一些数据,我已经根据我的客户提出了所有要求。但最后,我的客户希望我为每一份报告添加唯一的报告编号。我已经在谷歌上搜索过了,但我找不到和我的案例类似的教程Php 如何使用Laravel生成报告票号?,php,laravel,email,generate,ticket-system,Php,Laravel,Email,Generate,Ticket System,目前正在进行失物招领项目,用户可以在留下东西时制作报告 我使用的是laravel 5.4,我的数据库中已经有一些数据,我已经根据我的客户提出了所有要求。但最后,我的客户希望我为每一份报告添加唯一的报告编号。我已经在谷歌上搜索过了,但我找不到和我的案例类似的教程 我对编程完全是新手,任何帮助都将不胜感激。您可以使用Unix时间戳作为您的唯一字段 $token = time(); 现在,在将新报告保存到数据库时添加此标记。如果你想让它更独特,你可以添加更多的随机字符串,就像 在Laravel 5.
我对编程完全是新手,任何帮助都将不胜感激。您可以使用Unix时间戳作为您的唯一字段
$token = time();
现在,在将新报告保存到数据库时添加此标记。如果你想让它更独特,你可以添加更多的随机字符串,就像
在Laravel 5.8中,您需要使用use-illumb\Support\Str代码>这是第一个。然后
$token = time().Str::random(5);
在以前的版本中,它是类似的
$token = time().str_random(5);
有很多方法可以做到这一点,但请记住以下两种方法:
使用数据库中的自动增量列,并向其中添加一些其他内容,如当前日期,并确保在其中添加一些零(例如20192208-00001)
或者,您也可以为此使用。这些是唯一生成的数字,几乎不可能发生碰撞。要设置此设置,您需要一个支持它的库composer require ramsey/uuid
。然后您可以生成随机数,如下所示:
我想您的数据库中有一个自动递增的票证列?这些是独一无二的号码。是的,我有。但客户要求在提交报告后发送给用户的确认电子邮件中附上更复杂的数字,如#466244658574。我真的很困惑xD
$date = new DateTime('now');
echo $id = $date->format('Y-m-d') . "-" . str_pad($ticket->id, 6, "0", STR_PAD_LEFT);
$uuid4 = Uuid::uuid4();
echo $uuid4->toString(); // i.e. 25769c6c-d34d-4bfe-ba98-e0ee856f3e7a