搜尋

首頁  >  問答  >  主體

如何在auth.php中修改資料庫連線?

如何在Laravel的auth.php(config/auth.php)中更改資料庫?我正在使用多個資料庫,希望將用戶儲存在另一個資料庫中。

P粉611456309P粉611456309443 天前551

全部回覆(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
  • 取消回覆