User_code генерируется и должен быть уникальным. Каким будет самый простой/чистый способ повторить логику восстановления этой модели? Сначала я хочу проверить сгенерированный код, а затем, если он не найден в таблице пользователей, создайте пользователя, если он найден, loop для повторной попытки. Каким будет синтаксис для этого? БлагодаряЛогика повтора при сохранении модели - Laravel
public function create(array $data)
{
$user = User::create([
'user_name' => 'My user name',
'user_code' => bin2hex(openssl_random_pseudo_bytes(16))
]);
$user->save();
return $user;
}
Спасибо. Мне это нравится! – user3489502
'bin2hex (openssl_random_pseudo_bytes (16))' может ли эта функция генерировать одинаковое число дважды? если не так, как вы можете получить один и тот же номер для условия, используйте 'User :: where ('user_code', $ code) -> get()' его каждый раз генерирует другое число, чем вы вставляете в db ''user_code' => bin2hex (openssl_random_pseudo_bytes (16)) '@ marco-aurélio-deleu –
openssl_random_pseudo_bytes (16) генерирует случайную строку, не обязательно уникальную – user3489502