首页 文章

laravel 5.3内置login / auth查询错误的字段名称

提问于
浏览
2

我目前正在尝试实现Laravel 5.3登录/身份验证,并更新了我的用户模型字段和位置以匹配我的数据库 . 但是,我似乎无法找到Laravel在哪里查询字段名称'email' . 我在RegisterController中编辑了Validator :: make函数,停止尝试使用'email'的唯一用户,但它仍然存在 . 这是我的错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'email' in 'where clause' (SQL: select * from `tblUserAccount` where `email` = email@email.com limit 1)

它有正确的表,但该表上的字段是sEmail,而不是电子邮件 . 此字段位于我的用户模型上 . 我在哪里可以改变这个?

1 回答

  • 2

    Laravel默认使用 email 字段进行身份验证 .

    在5.3中你可以尝试覆盖 app\Http\Controllers\Auth\LoginController.php 中的username()方法,如下所示:

    public function username()
    {
        return 'custom_username';
    }
    

    此外,您需要在 app\Http\Controllers\Auth\RegisterController.php 中的 validator() 方法中更改规则 .

相关问题