当前位置: 首页 > 知识库问答 >
问题:

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

海景曜
2023-03-14

我试图自定义laravel认证注册。我在表格和表格中添加了父亲姓名字段。但是父亲姓名字段不是必需的。我在registercontroller.php和用户模型中也添加了这个字段。然后,如果提交的形式与所有字段然后数据插入成功,但如果我提交的形式没有父亲的名称字段(这是不需要的),然后错误来了:f_name提交不能为空。

如果我从fillable中删除f_name,则f_name不会保存。

方法。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个答案

梁存
2023-03-14

情况1:您可能已经将DB中的字段默认值设置为no-NULL。检查您的迁移,它应该是类似于$table-

案例2:检查验证器功能,有时可以将其设置为

法和安
2023-03-14

这是因为您没有使其在数据库中为空。

另一件事是,你不应该这样编码。您应该使用命令行或终端中的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.

}
 类似资料:
  • 我在我的网站中使用默认的route。php。 此路由复制的“照明/路由/路由器”。php’。 我用它来改变默认路线和。。。在 什么是?? 我应该在路线组中的何处定义它? 谢谢你的帮助。

  • 我必须使用laravelajax将数据保存在具有userid的数据库表中。谁能帮我解决这个问题 我的控制器代码 它得到的反应是 我必须保存登录用户ID提交......我user_id空我怎么存储user_id请帮帮我。 提前谢谢

  • 登录,注销-一切正常,但我不知道如何注册一个AuthentiationListener来记录我的用户。 我使用的是Guice,并且我使用自己的dbsaltwarerealm(公共类dbsaltarerealm扩展了授权领域) 感谢

  • 我一直在寻找使用各种AWS服务来处理我们下一个主要项目的基础设施。我们开始研究EC2实例上的docker容器,但在进一步研究AWS Lambda之后,这似乎是一条值得探索的道路。 使用AWS Lambda范例,我们只需使用Lambda函数作为逻辑粘合剂,将数据和事件(来自其他AWS服务)保存在一起。 例如,如果我们产品的用户创建了一个新记录,AWS Lambda可以在该事件中触发,我们可以调用La

  • 我试着用laravel做一个登录/注册的简单应用。。。我目前使用的是5.2版本的laravel。 在路线上,我写道: 所以现在当我尝试注册用户在localhost:8888/auth/register-我填写字段,但当我点击注册然后我得到错误消息: 用户中的FatalErrorException。php第8行:找不到类“lightlight\Foundation\Auth\User” 那么我如何在

  • 我正在尝试创建一个应用程序,我必须注册用户,我正在使用Firebase进行注册,一旦我将所有数据放入register,然后进入Firebase数据库,我发现我自己并不是在测试模式下创建数据库的注册用户。你能解释一下我可能做错了什么吗? 注册用户代码: 我正在使用实时数据库 规则Firebase: