Я предлагаю простое решение на основе меток времени с использованием класса Carbon
для получения уникального числа с использованием метки времени. Довольно просто создать базовую уникальную и случайную печать штампов, используя timestamp
. Вы можете использовать, как указано ниже,
use Carbon\Carbon;
$current_timestamp = Carbon::now()->timestamp; // Produces something like this 1552296328
Вы можете использовать его как уникальный идентификатор. Если вы хотите следующие цифры, просто +1
. Но имейте в виду, вы должны своевременно управлять другой партией номеров. (т. Е. Если вы сгенерировали 500 чисел на данный момент с приращением, вы не должны генерировать другое число в течение следующих 500 секунд. В противном случае оно будет повторяться) . Если вы хотите узнать больше, вы можете прочитать здесь .
Решение с функцией rand () может не работать здесь, потому что оно может воспроизвести существующее числов базе данных, и вы будете допущены ошибки для Нарушение уникальных ограничений (т.е. если у вас есть уникальный столбец в БД).