【问题标题】:Modifiying Users Table in Laravel在 Laravel 中修改用户表
【发布时间】:2017-08-18 11:35:01
【问题描述】:

我刚开始使用 Laravel,但不是新的 PHP 框架。

我有 Laravel 5.4 并运行 php artisan make:auth 来激活身份验证。

我有一个自定义的 users mysql 表,想用它来代替,用不同的列。

在我被“重复问题”cmets 淹没之前,我已经阅读了所有其他(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。

【问题讨论】:

  • 你能粘贴验证器行吗?您还使用自定义身份验证吗?
  • @curious_coder 正如我所说,我没有更改任何路线等。我没有任何要粘贴的验证器行。我必须在某处覆盖一个或两个类吗?如果有,怎么做?
  • 由于您使用自定义,您可以在覆盖功能中使用 Auth 外观进行登录
  • 我找不到任何地方告诉我如何做到这一点。你能帮忙吗?

标签: php mysql laravel authentication laravel-5


【解决方案1】:

在您的 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');
   }
}

【讨论】:

    猜你喜欢
    • 2017-07-30
    • 2017-04-15
    • 2015-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    相关资源
    最近更新 更多