Intereting Posts
Добавить пару ключ / значение между двумя парами в массиве Как увеличить ограничение памяти для PHP более чем на 2 ГБ? Как передать медиафайл с помощью PHP? default как первый параметр в инструкции switch? MASS WHERE / IN, как обрабатывать пустые / возвращенные данные также совпадают? Проверка формы – стандартное решение? Фильтрация результатов по дате в поле метки времени Laravel 5.1 – сводная таблица между тремя таблицами, лучший вариант? Передача массива объектов из WCF в PHP – извлечение информации Настройка макета пагинации Pagerfanta с помощью настраиваемого шаблона Неустранимая ошибка: имя функции должно быть строкой в. Ошибка PHP Серверная часть DataTable работает только тогда, когда у меня есть несколько данных Чтение данных в последовательном порту на окнах с php Каков самый простой способ увидеть имя файла содержимого веб-сайта? Как загрузить большой файл с использованием PHP (использование низкой памяти)

Создание UID внутри Laravel 5, как я могу увеличить его, чтобы снизить вероятность столкновения?

В настоящее время я создаю 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 символов, но я навсегда буду его увеличивать, если я когда-либо попаду в предел.

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