首页  >  问答  >  正文

如何在auth.php中修改数据库连接?

如何在Laravel的auth.php(config/auth.php)中更改数据库?我正在使用多个数据库,希望将用户存储在另一个数据库中。

P粉611456309P粉611456309379 天前517

全部回复(2)我来回复

  • P粉393030917

    P粉3930309172023-09-09 17:59:24

    在User.php模型或与Auth相关的模型中设置连接

    回复
    0
  • P粉026665919

    P粉0266659192023-09-09 15:52:38

    首先,您应该在config/database.php中定义连接:

    'connections' => [
        'global' => [
                'driver' => 'mysql',
                'host' => env('first_db_name', '127.0.0.1'),
                ...
                ],
        'tennant' => [
                'driver' => 'sqlite',
                'host' => env('sec_db_name', '127.0.0.1'),
                ],
        ]

    然后在auth.php中添加它们:

    'guards' => [
        [...]
        'global' => [
            'driver' => 'session',
            'provider' => 'globals',
        ],
        'tennant' => [
            'driver' => 'session',
            'provider' => 'tennants',
        ],
    ],
    
    [...]
    'providers' => [
        [...]
        'globals' => [
            'driver' => 'eloquent',
            'model' => App\UserGlobal::class,
        ],
        'tennants' => [
            'driver' => 'eloquent',
            'model' => App\UserTennant::class,
        ],
    ],

    在每个可验证的模型中定义受保护的$connection = 'connection name',最后在模型中使用:

    protected $connection = 'connectionname';

    回复
    0
  • 取消回复