2016-08-25 12 views
1

初めてLumenとEloquentを使用してAPIを構築しています。 1つのリクエストで複数のデータベース間で同じテーブルをクエリする必要があります。次のように私が使用しているアルゴは次のとおりです。Laravel/Eloquent接続をリセット(無効にする)

foreach($db in $dbs) { 
    config(['database.connections.clientdb.database' => $db]); 
    $count = MyModel->all()->count() 
    $myArray[] = $count 
} 

代わりの異なる値の配列を取得し、値は常に同じです。最初のデータベース接続から生成された値。

最初のデータベースは設定されたデータベースではないので、私はconfigコマンドが動作することを少なくとも1回知っています。データベース名が各繰り返しで変更されることを確認しました。私は(意図的に)キャッシュを使用していません。私は$mymodel = new MyModel('$db')を使用し、コンストラクタでモデルのsetConnection()を実行してから$mymodel = nullを設定しました。 $countの値は決して変更されません。

私はを推測していますデータベース接続が解放されていません。 Lumen/Laravel/Eloquentを使用してデータベース接続を切断し、同じ要求内の別のLumen/Laravel/Eloquentに接続するにはどうすればよいですか?

答えて

0

私はthis postingの助けを借りて作業しました。

基本的な考え方は、構成を上書きしない(できない)ということです。代わりに、新しい設定をオンザフライで作成して(あなた自身を楽にするために)デフォルトのデータベース接続として設定します。

関連する問題