【问题标题】:How I can generate the unique ID in laravel?如何在 laravel 中生成唯一 ID?
【发布时间】:2023-03-15 18:00:01
【问题描述】:

我正在 Laravel 处理我的毕业项目,并且想要生成小的唯一 ID “9 char max”...我不需要 UUID,因为这会生成 36 个字符,这太长了。

【问题讨论】:

  • 您能否添加更多关于您遇到的问题的信息?您应该添加部分不起作用的代码,社区可以尝试帮助您,但 Stack Overflow 的目的不是从头开始为您创建解决方案

标签: php laravel uniqueidentifier


【解决方案1】:

你可以像这样使用 PHP 函数:

function unique_code($limit)
{
  return substr(base_convert(sha1(uniqid(mt_rand())), 16, 36), 0, $limit);
}
echo unique_code(9);

输出如下:

s5s108dfc

这里是规格:

  • base_convert – 在任意基数之间转换数字。
  • sha1 – 计算字符串的 sha1 哈希值。
  • uniqid – 生成一个 唯一 ID。
  • mt_rand – 通过 Mersenne Twister Random 生成一个随机值 数字生成器。

或者在 Laravel 中你可以使用 laravel Str 库: 就用这个:

use Illuminate\Support\Str;
$uniqid = Str::random(9);

【讨论】:

    【解决方案2】:

    你可以用这个库生成一个随机字符串:

    使用 Illuminate\Support\Str;

    $id = Str::random(9);

    【讨论】:

    • 我应该在哪里写这个?以及如何在数据库中处理它?
    • 你能告诉我更多关于目的吗?所以我认为我将能够提供更好的帮助。
    • 你能给我你的电子邮件吗?或者我可以通过它向您询问任何帐户
    【解决方案3】:

    你可以用这个,

    $unique_id= echo floor(time()-999999999);
    

    这是根据时间生成一个 9 位唯一值。

    【讨论】:

      【解决方案4】:

      生成自定义唯一 ID 或代码(带前缀或后缀或两者或仅唯一 ID)或在 laravel 框架中更改前缀或后缀或两者后重置您的 ID

      访问https://github.com/SirajCse/laravel-unique-id-generator

      示例: Inv-000001/12/21

      UniqueIdGenerator::generate(['table' => 'invoices','field'=>'invoice_id','length' => 16,'prefix' => 'Inv-', 'suffix' => date('/m/y')]);
      
      'table' => 'invoices' [sting table name]
      'field'=>'invoice_id' [Default 'id'] [Optional][any string field name]
      'length' => 12 [Integer value Id length]
      'prefix'=>'Inv-' [Default ''] [Optional] [any string]
      'suffix'=>date('/m/y') [Default ''] [Optional][any string]
      'reset_on_change'=>false[ Default false] [Optional] [Options are 1.prefix , 2.suffix 3.both 4.false]
      uniqueId=000001
      

      【讨论】:

        猜你喜欢
        • 2018-05-04
        • 2010-11-30
        • 2013-03-11
        • 2019-04-29
        • 2018-10-20
        • 1970-01-01
        • 1970-01-01
        • 2012-03-21
        • 2012-07-20
        相关资源
        最近更新 更多