dongqiao1151 2018-11-25 12:32
浏览 184
已采纳

如何在laravel默认身份验证注册表单中保存额外的非必填字段

I am trying to customize the laravel auth registration. And I have added father name field in table and form. But father name field is not required. I added this field in registercontroller.php and in User model also. And then, if submit the form with all fields then data inserts successfully, But if I submit the form without father name field (which is not required), then error comes: f_name filed can not be null.

If I remove f_name from fillable then f_name is not saving.

Method in RegisterController.php is:

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

User.php is:

protected $fillable = [
    'name', 'email', 'f_name' , 'password',
];
  • 写回答

2条回答 默认 最新

  • douzhen5158 2018-11-25 12:50
    关注

    This is because you did not make it nullable in the database.

    The other thing is that you should not code like that. You should create a Request class (where you validate request) for users with php artisan make:request UserRequest in command line or terminal. See the following.

    protected function create(UserRequest $userRequest)
    {
       $user = new User($userRequest->all());
       $user->password => bcrypt($userRequest['password']);
       $user->save();
    
      // your rest of the code.
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装