我刚开始使用Laravel但不是新的PHP框架。
我有Laravel 5.4并且已经运行php artisan make:auth
来激活身份验证。
我有一个自定义用户mysql表,想要使用它,而不是列。
在我被“重复问题”评论所淹没之前,我已经阅读了其他所有(有3页Google搜索值)建议。也许我不理解它们,或者它们适用于不同版本,但没有任何效果。
我的表名是users
我的专栏是:
user_id
user_email
user_password
... etc
当我尝试登录时,我从验证器获取Username and Password are required
。当我更改字段名称时,我得到column not found: 1054 Unknown column 'email' in 'where clause'
。
我可以从堆栈跟踪中看到问题来自vendor\laravel\framework\src\illuminate\Foundation
文件夹,但我也知道不会修改供应商文件夹中的任何内容。
有人可以帮我解决这个问题吗?
我没有修改过任何核心代码。它与您在新安装上运行make:auth
时完全一样。我知道这一点,因为我跟踪了项目git。
答案 0 :(得分:0)
在LoginController.php
文件中添加覆盖功能
public function attemptLogin(Request $request)
{
if (\Auth::attempt(['user_email' => $request->input('email'), 'user_password' => $request->input('password')]))
{
// Authentication passed...
return redirect()->intended('dashboard');
}
}