Laravel 应用程序适用于本地 Homestead 但不适用于 Heroku - 哨兵错误
Laravel application works on local Homestead but not on Heroku - Sentinel error
Laravel 5.5
最新哨兵(用于身份验证)
Homestead 虚拟机(在我的本地机器上)
基本上,我有一个可以在本地 Homestead 机器上完美运行的应用程序。
我在 Heroku 上创建了一个新应用程序,除了登录和注册外,一切正常。我有 ClearDB 数据库设置,迁移工作完美,所以数据库连接很好。
但是当我尝试登录或注册时,出现错误。无论出于何种原因,username
都不会传递到数据库。传递所有其他值。 (我更改了 EloquentUser
,所以我可以用 Username
登录)
我使用Sentinel::registerAndActivate($request->all());
代码进行注册。表单中的所有名称都与数据库中的名称匹配。就像我说的,它可以在本地机器上运行。
当我dd($request->all()
时,我可以看到用户名已通过。
我在 $fillable
数组和 EloquentUser
中为 Sentinel 添加了用户名。
知道为什么不起作用吗?
老实说是愚蠢的事情。您必须创建自己的模型来扩展原始 Sentinel 用户模型,因为当您更改登录方法时,您必须编辑 vendor
文件夹中的文件,每次在 Heroku 上部署时都会覆盖该文件。
只需在 App
文件夹中创建您的模型文件,并从 vendor 文件夹扩展 EloquentUser 模型。添加 $fillable
和 $protected
数组。在设置中更改 cartalyst.sentinel.php
文件,因此 'model'
现在是您自己的,而不是 EloquentUser
。
Laravel 5.5
最新哨兵(用于身份验证)
Homestead 虚拟机(在我的本地机器上)
基本上,我有一个可以在本地 Homestead 机器上完美运行的应用程序。 我在 Heroku 上创建了一个新应用程序,除了登录和注册外,一切正常。我有 ClearDB 数据库设置,迁移工作完美,所以数据库连接很好。
但是当我尝试登录或注册时,出现错误。无论出于何种原因,username
都不会传递到数据库。传递所有其他值。 (我更改了 EloquentUser
,所以我可以用 Username
登录)
我使用Sentinel::registerAndActivate($request->all());
代码进行注册。表单中的所有名称都与数据库中的名称匹配。就像我说的,它可以在本地机器上运行。
当我dd($request->all()
时,我可以看到用户名已通过。
我在 $fillable
数组和 EloquentUser
中为 Sentinel 添加了用户名。
知道为什么不起作用吗?
老实说是愚蠢的事情。您必须创建自己的模型来扩展原始 Sentinel 用户模型,因为当您更改登录方法时,您必须编辑 vendor
文件夹中的文件,每次在 Heroku 上部署时都会覆盖该文件。
只需在 App
文件夹中创建您的模型文件,并从 vendor 文件夹扩展 EloquentUser 模型。添加 $fillable
和 $protected
数组。在设置中更改 cartalyst.sentinel.php
文件,因此 'model'
现在是您自己的,而不是 EloquentUser
。