github.com/vinkla/laravel-hashids

тоящее время я создаю UID для моих данных внутри метода контроллера под названиемrandomId, Я вставил весь метод ниже:

public static function randomId()
{

    $id = str_random(12);

    $validator = Validator::make(
        ['calculation_uid'=>$id],
        ['calculation_uid'=>'unique:calculations,calculation_uid']
    );

    if ($validator->fails()) {
        $this->randomId();
    }

    return strtoupper($id);
}

Обычно генерируется 12-значный буквенно-цифровой код, который затем запускается через валидатор, чтобы убедиться, что он еще не существует; если он существует, он снова запускает метод.

Я знаю, что могу уменьшить вероятность столкновения, увеличив его до 16 символов, но я всегда буду увеличивать его, если когда-нибудь достигну предела.

Есть ли способ, которым я могу (из-за отсутствия лучшей формулировки) сделать это более уникальным? Или моя реализация, вероятно, будет в порядке?

Ответы на вопрос(0)

Ваш ответ на вопрос