2017-10-05 81 views
0

Laravel 5.5
最新哨兵(認證)
家園虛擬機(我的本地機器上)
Laravel應用軟件可在當地的宅基地,但不是在Heroku - 哨兵錯誤

基本上,我有一個應用程序,在當地的宅基地機器上完美運作。 我在Heroku上創建了一個新的應用程序,除了登錄和註冊外,一切正常。我有ClearDB數據庫設置,遷移工作完美,所以數據庫連接是好的。

但是,當我嘗試登錄或註冊時,出現錯誤。無論出於何種原因,username不會傳遞到數據庫。每一個其他值都被傳遞。 (我改變了EloquentUser,所以我可以用Username登錄)

我使用Sentinel::registerAndActivate($request->all());代碼進行註冊。表單中的所有名稱都與db中的名稱匹配。就像我說的那樣,它可以在本地機器上運行。

當我dd($request->all(),我可以看到用戶名被傳遞。

我在$fillable陣列中添加了用戶名,在Sentinel中添加了EloquentUser

任何想法爲什麼不工作?

回答

0

愚蠢的事情是誠實的。您必須創建自己的模型來擴展原來的Sentinel用戶模型,因爲當您更改登錄方法時,您必須編輯vendor文件夾中的文件,每次在Heroku上部署某個文件時都會覆蓋該文件。

只需在App文件夾中創建您的模型文件並從供應商文件夾擴展EloquentUser模型。添加$fillable$protected陣列。在設置中更改cartalyst.sentinel.php文件,因此'model'現在是您自己的,而不是EloquentUser