Laravel应用程序适用于本地Homestead但不适用于Heroku - Sentinel错误

时间:2017-10-05 12:00:07

标签: php laravel heroku laravel-5 homestead

Laravel 5.5
最新的Sentinel(用于身份验证)
Homestead虚拟机(在我的本地机器上)

基本上,我有一个适用于本地Homestead机器的应用程序。 我在Heroku上创建了一个新的应用程序,一切正常,除了登录和注册。我有ClearDB数据库设置,迁移工作完美,所以数据库连接很好。

但是当我尝试登录或注册时,我收到错误。无论出于何种原因,username都不会传递给数据库。每个其他值都通过。 (我更改了EloquentUser,因此我可以使用Username

登录

我使用Sentinel::registerAndActivate($request->all());代码进行注册。表单中的所有名称都与db中的名称匹配。就像我说的,它适用于本地机器。

当我dd($request->all()时,我可以看到用户名被传递。

我已在$fillable数组和EloquentUser中为Sentinel添加了用户名。

任何想法为什么不起作用?

1 个答案:

答案 0 :(得分:1)

老实说,愚蠢的事情。您必须创建扩展原始Sentinel用户模型的模型,因为在更改登录方法时,您必须编辑vendor文件夹中的文件,每次在Heroku上部署时都会覆盖该文件。

只需在App文件夹中创建模型文件,然后从供应商文件夹中扩展EloquentUser模型。添加$fillable$protected数组。更改设置中的cartalyst.sentinel.php文件,因此'model'现在是您自己的,而不是EloquentUser