You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel注册认证报错SessionGuard::login()参数为空如何修复?

问题原因

你在User模型中手动重写了Laravel Eloquent模型自带的create静态方法,且这个自定义方法没有任何业务逻辑也没有返回值,导致RegisterController调用User::create()创建用户时得到null值,把null传入要求Authenticatable接口实例的SessionGuard::login()方法就触发了本次类型错误。你提到的PHPStorm提示create方法返回void、功能后续突然失效也和这个自定义的空方法直接相关。

解决方案

直接删除User模型末尾新增的空create方法即可:

// 完全删除以下这段冗余代码
public static function create(array $validate)
{
}

删除后Laravel会自动调用Eloquent模型原生的create方法,该方法会返回创建成功的User模型实例,满足认证接口要求,注册流程即可恢复正常。

验证操作
  • 清理路由缓存:执行php artisan route:clear
  • 清理配置缓存:执行php artisan config:clear
  • 重新提交注册表单,即可正常创建用户并自动登录

内容的提问来源于stack exchange,提问作者Luuk Roso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 13:45:03