简体   繁体   English

我如何使用 hasid 生成唯一的 5 位客户编号

[英]How do i generate unique 5 digit customer number with hasid

Hi i want to generate unique five digit customer number containing only digits from 0....9嗨,我想生成unique五位数customer number其中仅包含0....9数字

i'm using this package : https://github.com/ivanakimov/hashids.php我正在使用这个包: https : //github.com/ivanakimov/hashids.php

i'm able to generate id but it contains alphabet like a...z我能够生成id但它包含像 a...z 这样的alphabet

this how i'm generating这就是我生成的方式

   $id = 12;
   $hashids = new Hashids\HashIds('eabangalore');  
   return $id = $hashids->encode(1, $id, 99);    // output QBsLFJw

but i want output something like this 22345,46643,...etc但我想输出这样的东西 22345,46643,...等

how can i do that ??我怎样才能做到这一点 ??

I don't think you can actually use this package for creating really unique customer number from 100000 to 999999.我认为你实际上不能使用这个包来创建从 100000 到 999999 的真正独特的客户编号。

I guess something like this would be a better solution:我想这样的事情会是一个更好的解决方案:

$idWasNotCreated = true;
while ($idWasNotCreated)
    $id = mt_rand(100000, 999999);
    if (User::where('customer_number', $id)->first()) {
        $idWasNotCreated = false;
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM