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