【问题标题】:Laravel application works on local Homestead but not on Heroku - Sentinel errorLaravel 应用程序适用于本地 Homestead 但不适用于 Heroku - Sentinel 错误
【发布时间】:2017-10-05 12:00:07
【问题描述】:

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

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

但是当我尝试登录或注册时,我得到一个错误。无论出于何种原因,username 都不会传递给数据库。其他所有值都被传递。 (我改了EloquentUser,所以我可以用Username登录)

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

当我dd($request->all() 时,我可以看到用户名已通过。

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

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

【问题讨论】:

    标签: php laravel heroku laravel-5 homestead


    【解决方案1】:

    说实话很蠢。您必须创建自己的模型来扩展原始 Sentinel 用户模型,因为当您更改登录方法时,您必须编辑 vendor 文件夹中的文件,每次在 Heroku 上部署某些内容时,该文件都会被覆盖。

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

    【讨论】:

      猜你喜欢
      • 2013-10-09
      • 2017-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多