php - 在任何请求 Laravel 之前切换连接

标签 php mysql database laravel

我倾向于在任何请求之前切换数据库连接,有什么建议吗?

我使用域路由组:

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/

相关文章:

javascript - html 每行代码换行

mysql CONCAT() : Unknown column '' -'' in 'field list'

Android 将 RSS feed 解析的数据存储在数据库中以供离线使用

php - MySQL 错误 : Can't create table (errno: 121 "Duplicate key on write or update")

c# - 在pdf文件中隐藏datagridview的列

php - 将远程数据库 (mysql) 与 sqlite 数据库同步,反之亦然

php - 拉拉维尔 5 : Set or get date format in DB

php - Laravel:类似系统实现的错误

php - 为 cronjobs 使用单独的网络服务器,也是 : MySQL concurrent connections from 2 different servers

php - 使用多个 html 字段搜索 mysql