【问题标题】:Changing the db and table that laravel looks at for auth更改 laravel 为 auth 查看的数据库和表
【发布时间】:2020-05-09 21:04:43
【问题描述】:

我们正在将一个 PHP 应用程序迁移到 laravel,并且我们已经有了一个数据库。

我按照说明将 config/auth.php 用户提供程序修改为:

'providers' => [
        'users' => [
                'driver' => 'database',
                'table' => 'our_database.user_auth_data',
        ],
    ],

当我尝试注册或验证新用户时,它会说:

“SQLSTATE[42S22]:未找到列:1054 'where 子句'中的未知列'user_key'(SQL:从users 中选择计数(*)作为聚合,其中user_key = bsemailaddress@yahoo.com)”

当我明确告诉它不要使用 laravel.users 表时,它为什么仍然尝试使用它?

【问题讨论】:

  • 您是否验证了您的 users 表在您的 laravel 应用程序中是否有模型?
  • 检查您的用户表/列并使用正确的列名更新您的查询(如果是自定义查询)

标签: php laravel


【解决方案1】:

修改配置文件后需要清空配置缓存

这里是命令

php artisan config:clear && php artisan config:cache

【讨论】:

  • 这样做了,不幸的是它仍在查看我们未使用的“用户”表。
  • 我从 .env 中删除了数据库信息(它在数据库配置中),现在它正在寻找 our_database.users 中不存在的身份验证信息,哈哈
  • 附带说明,请不要在开发时使用php artisan config:cache,这会带来更多的麻烦,因为对您的配置文件和/或.env的任何更改都需要重新使用该命令跑你会忘记的。
猜你喜欢
  • 2021-09-11
  • 2019-09-01
  • 2016-10-09
  • 2019-08-11
  • 2019-03-27
  • 2015-11-27
  • 2019-05-28
  • 1970-01-01
相关资源
最近更新 更多