初めて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に接続するにはどうすればよいですか?