Я новичок в Laravel, и я пытаюсь использовать Jetstream (Livewire) для аутентификации. Мне уже удалось создать регистрационную форму. Однако я хочу изменить поле ввода на раскрывающееся поле выбора на основе данных из базы данных. Это тот же вопрос в SO, но ответ был ручным. Я подумал, может быть, этот один, но он может конфликтовать с уже использованным оператором возврата (поправьте меня, если я ошибаюсь).
В настоящее время моя функция Fortify / CreateNewUser:
public function create(array $input)
{
Validator::make($input, [
'name' => ['required', 'string', 'max:255'],
'user_name' => ['required', 'string', 'max:125'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => $this->passwordRules(),
'user_role' => ['required', 'max:20'],
'user_type' => ['required', 'max:20'],
'terms' => Jetstream::hasTermsAndPrivacyPolicyFeature() ? ['required', 'accepted'] : '',
])->validate();
return User::create([
'name' => $input['name'],
'user_name' => $input['user_name'],
'email' => $input['email'],
'password' => Hash::make($input['password']),
'user_role' => $input['user_role'],
'user_type' => $input['user_type'],
]);
}
Register.blade.php:
...
<div class="mt-4">
<x-jet-label for="user_role" value="{{ __('Role') }}" />
<x-jet-input id="user_role" class="block mt-1 w-full" type="text" name="user_role" required autocomplete="user_role" />
</div>
<div class="mt-4">
<x-jet-label for="user_type" value="{{ __('Type') }}" />
<x-jet-input id="user_type" class="block mt-1 w-full" type="text" name="user_type" required autocomplete="user_type" />
</div>
...