You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Laravel中config/auth.php的数据库配置?多数据库用户存储需求

Laravel多数据库环境下修改用户认证的数据库配置

步骤1:先配置额外的数据库连接

首先在config/database.php中添加用户数据专用的数据库连接配置,示例如下:

'connections' => [
    // 默认数据库连接
    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', '127.0.0.1'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        // ... 其他默认配置项
    ],
    // 用户数据专属连接
    'user_db' => [
        'driver' => 'mysql',
        'host' => env('USER_DB_HOST', '127.0.0.1'),
        'database' => env('USER_DB_DATABASE', 'user_database'),
        'username' => env('USER_DB_USERNAME', 'root'),
        'password' => env('USER_DB_PASSWORD', ''),
        // ... 其他必要配置项(如端口、字符集等)
    ],
],

步骤2:修改认证配置指定连接

打开config/auth.php,找到providers下的users配置块,添加或修改connection参数,指定刚才定义的用户数据库连接名:

若使用Eloquent驱动(默认)

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Models\User::class,
        'connection' => 'user_db', // 指定用户数据库连接
    ],
],

若使用Database驱动

'providers' => [
    'users' => [
        'driver' => 'database',
        'table' => 'users',
        'connection' => 'user_db', // 指定用户数据库连接
    ],
],

额外注意事项

  • 记得在.env文件中配置对应user_db的环境变量(如USER_DB_HOST、USER_DB_DATABASE等),避免硬编码配置。
  • 也可以直接在User模型中设置连接属性:protected $connection = 'user_db';,这种方式会覆盖auth配置中的连接设置,按需选择即可。

内容的提问来源于stack exchange,提问作者Nino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 11:01:31