как сохранить лишнее не обязательное поле в форме регистрации авторизации по умолчанию - PullRequest
0 голосов
/ 25 ноября 2018

Я пытаюсь настроить регистрацию авторизации laravel.И я добавил имя отца поле в таблице и форме.Но поле имени отца не обязательно.Я добавил это поле в registercontroller.php, а также в модели User.И затем, если отправить форму со всеми полями, то данные вставляются успешно, но если я отправляю форму без поля имени отца (что не обязательно), то возникает ошибка: Поле_имя_файла не может быть нулевым.

Если я удаляю f_name из заполняемого, тогда f_name не сохраняется.

Метод в RegisterController.php:

protected function create(array $data)
{
    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'f_name' => $data['f_name'],
        'password' => bcrypt($data['password']),
    ]);
}

Пользователь.php:

protected $fillable = [
    'name', 'email', 'f_name' , 'password',
];

Ответы [ 2 ]

0 голосов
/ 25 ноября 2018

Это потому, что вы не сделали его обнуляемым в базе данных.

Другое дело, что вы не должны так кодировать.Вы должны создать класс Request (где вы проверяете запрос) для пользователей с php artisan make:request UserRequest в командной строке или терминале.Смотрите следующее.

protected function create(UserRequest $userRequest)
{
   $user = new User($userRequest->all());
   $user->password => bcrypt($userRequest['password']);
   $user->save();

  // your rest of the code.

}
0 голосов
/ 25 ноября 2018

Случай 1: Возможно, вы установили значение по умолчанию для поля не-NULL в БД.Проверьте ваши миграции, это должно быть что-то вроде $table->string('f_name')->nullable(); или Check in DB / phpmuadmin и установить в NULL по умолчанию.

Случай 2: проверьте свою функцию валидатора, можете установить ее на sometimes.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...