2 回答

TA貢獻1812條經驗 獲得超5個贊
問題是您忘記將 user_type 放入用戶模型的可填充數組中。
將您的代碼更改為以下將起作用。
protected $fillable = [
'name', 'email', 'password', 'user_type'
];

TA貢獻1864條經驗 獲得超2個贊
你應該為無線電設置名稱并在控制器中使用:
<label class="radio-inline control-label">
<input name="user" id="user_type" value="user" type="radio" class="form-control @error('user_type') is-invalid
@enderror" name="user_type" required autocomplete="user_type">User</label>
<label class="radio-inline control-label">
<input name="company" id="user_type" value="company" type="radio" class="form-control @error('user_type') is-
invalid @enderror" name="user_type" required autocomplete="user_type">Comapny</label>
@error('user_type')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
在控制器中:
類 RegisterController 擴展控制器 {
protected function validator(array $data)
{
$validator = Validator::make($data, [
'register_name' => ['required', 'string', 'max:8'],
'register_email' => ['required', 'string', 'email', 'max:255', 'unique:users,email'],
'register_password' => ['required', 'string', 'min:8', 'confirmed'],
'user_type' => ['required', 'in:user,company'],
]);
$validator->setAttributeNames([
'register_email' => 'email',
'register_password' => 'password',
]);
return $validator;
}
protected function create(array $data)
{
if ($data['user']) {
$user = User::create([
'name' => $data['register_name'],
'email' => $data['register_email'],
'password' => Hash::make($data['register_password']),
'user_type' => $data['user'],
]);
}
if ($data['company']) {
$user = User::create([
'name' => $data['register_name'],
'email' => $data['register_email'],
'password' => Hash::make($data['register_password']),
'user_type' => $data['company'],
]);
}
$user->sendEmailVerificationNotification();
return $user;
}
- 2 回答
- 0 關注
- 98 瀏覽
添加回答
舉報