我倾向于在任何请求之前切换数据库连接,有什么建议吗?
我使用域路由组:
Route::group(['domain' => 'example.com'], function () {
Route::get('/', function () {
return view('welcome');
});
... and other routes
});
但是我想在按域的任何路由组之后打开数据库连接,并使用一个 Controller 来控制所有域但具有多个数据库。 知道怎么做吗? 我知道我可以像这样在 Controller 中切换连接:
$connection = config('database.connections.mysql');
$conn = DB::connection($connection);
$model = $conn->table('models');
$models = $model->get();
例如。 但我希望在向应用程序发出任何请求之前获得它。
最佳答案
您必须有一个中间件,它将包装该组内的所有路由。在该中间件内部,您可以根据需要在数据库之间切换。
关于php - 在任何请求 Laravel 之前切换连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52096711/