实际上,除了在 .env 中设置它之外别无他法,因为即使你想让它动态化,你也必须设置 100 个 ifs,如果你只想查看 100 个设置而不编写 100 行代码,你可以在这个文件中设置一个循环:
app/config/database.php
如下:
return array(
'default' => 'mysql',
'connections' => array(
# Primary/Default database connection
'mysql' => array(
'driver' => 'mysql',
'host' => '127.0.0.1',
'database' => 'database1',
'username' => 'root',
'password' => 'secret'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
# You loop here
'mysql2' => array(
'driver' => 'mysql',
'host' => '127.0.0.1',
'database' => 'database2',
'username' => 'root',
'password' => 'secret'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
),
);
这是最简单的方法。所以在这里按照下面的说明,然后在你的雄辩中,你应该指定你想用于那个查询的数据库连接! :
您可以在 Env 文件中设置如下:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database1
DB_USERNAME=root
DB_PASSWORD=secret
DB_CONNECTION_SECOND=mysql
DB_HOST_SECOND=127.0.0.1
DB_PORT_SECOND=3306
DB_DATABASE_SECOND=database2
DB_USERNAME_SECOND=root
DB_PASSWORD_SECOND=secret
然后您可以进入您的 condif/database.php 并进行如下设置:
'mysql2' => [
'driver' => env('DB_CONNECTION_SECOND'),
'host' => env('DB_HOST_SECOND'),
'port' => env('DB_PORT_SECOND'),
'database' => env('DB_DATABASE_SECOND'),
'username' => env('DB_USERNAME_SECOND'),
'password' => env('DB_PASSWORD_SECOND'),
],
然后在你的口才中你可以使用如下:
$users = DB::connection('mysql2')->select(...);
希望对你有帮助
笔记 :
您可以参考此链接了解更多信息
https://fideloper.com/laravel-multiple-database-connections