2016-12-09 8 views
1

上のデフォルト以外の接続に私はこのようなコントローラ機能でユーザーを切り替える必要があります:ログを手動でLaravel

\DB::setDefaultConnection($connection); 
Config::set('database.default', $connection); 
$user->setConnection($connection); 
Auth::login($user); 
$userは別のDB接続にユーザー雄弁インスタンスをある

、そして$connectionは(他ではありませんデフォルト)接続。ログインしようとすると、別の接続にあるユーザのidを使用して、デフォルトの接続でユーザをログに記録します。

どのように目標を達成できますか?

+0

https://laracasts.com/discuss/channels/eloquent/laravel-5-multiple-database-connection –

+0

@KelvinKyawこれをチェックし、ユーザーを取得することは問題ではありません。 Manual Auth :: login($ user)でログインすることは難しいです – Remade

答えて

0

は、新しい接続を使用することを教え、自分の雄弁モデルでconfig/database.php

'another_connection' => [ 
     'driver' => 'sqlsrv', 
     'host'  => env('DB_OTHER_HOST', ''), 
     'port'  => env('DB_OTHER_PORT', ''), 
     'database' => env('DB_OTHER_DATABASE', ''), 
     'username' => env('DB_OTHER_USERNAME', ''), 
     'password' => env('DB_OTHER_PASSWORD', ''), 
    ], 

で新しい接続を宣言します。その後、通常どおりに使用することができます。

protected $connection = 'another_connection'; 
+0

実行時に変更されるため、接続をハードコーディングできません。だから私のクエリは次のようになります: '$ user = user :: on($ connection) - >( 'email'、 '[email protected]') - > first();' – Remade

関連する問題