Laravel使用电子邮件而不是用户名登录

时间:2014-02-21 18:55:29

标签: laravel

我有自定义用户名表结构: UserId |登录|密码

我创建了自己的类User extends Eloquent 并且一切正常(登录,我可以在我准备好的语句中创建用户),除了以寄存器形式发布字段。我有:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'email' in 'where clause' (SQL: select count(*) as aggregate from `users` where `email` = some@mail.com)

我搜索了很多论坛,但我没有为自定义列创建迁移。它是必需的还是我可以用其他方式修复它?

提前致谢!

1 个答案:

答案 0 :(得分:1)

您正尝试使用email登录。但是您的数据库中没有email字段。

要按照您想要的方式工作(userpassword),您必须将电子邮件更改为用户

if (Auth::attempt(array('user' => $user, 'password' => $password))) 
{
    return Redirect::intended('dashboard');
}

找到您进行身份验证的位置(可能在app/routes.php上)并进行更改。

如果您无法找到更改位置,请从过滤器和控制器中输入一些代码,以便我们为您提供更多帮助!

= d