Laravel应用软件可在当地的宅基地,但不是在Heroku - 哨兵错误
问题描述:
Laravel 5.5
最新哨兵(认证)
家园虚拟机(我的本地机器上)Laravel应用软件可在当地的宅基地,但不是在Heroku - 哨兵错误
基本上,我有一个应用程序,在当地的宅基地机器上完美运作。 我在Heroku上创建了一个新的应用程序,除了登录和注册外,一切正常。我有ClearDB数据库设置,迁移工作完美,所以数据库连接是好的。
但是,当我尝试登录或注册时,出现错误。无论出于何种原因,username
不会传递到数据库。每一个其他值都被传递。 (我改变了EloquentUser
,所以我可以用Username
登录)
我使用Sentinel::registerAndActivate($request->all());
代码进行注册。表单中的所有名称都与db中的名称匹配。就像我说的那样,它可以在本地机器上运行。
当我dd($request->all()
,我可以看到用户名被传递。
我在$fillable
阵列中添加了用户名,在Sentinel中添加了EloquentUser
。
任何想法为什么不工作?
答
愚蠢的事情是诚实的。您必须创建自己的模型来扩展原来的Sentinel用户模型,因为当您更改登录方法时,您必须编辑vendor
文件夹中的文件,每次在Heroku上部署某个文件时都会覆盖该文件。
只需在App
文件夹中创建您的模型文件并从供应商文件夹扩展EloquentUser模型。添加$fillable
和$protected
阵列。在设置中更改cartalyst.sentinel.php
文件,因此'model'
现在是您自己的,而不是EloquentUser
。