设置Laravel的DB时,尝试动态生成它

时间:2018-01-04 07:51:32

标签: database laravel settings

DB的名称是板1,板2,板3,板4到板50.每次创建多个连接需要时间,每次添加时都需要手动工作。

如果您喜欢database.php中的现有方法,则无法获得错误的解决方案?

for($board_no=1;$board_no<=50;$board_no++){
    'board'.$board_no => [
        'driver' => 'mysql',
        'host' => 'boardip',
        'port' => '3306',
        'database' => 'board'.$board_no,
        'username' => 'boardadmin',
        'password' => 'boardadminpassword',
        'unix_socket' => '',
        'charset' => 'utf8',
        'collation' => 'utf8_general_ci',
       'prefix' => null,
       'engine' => null
    ],
}

1 个答案:

答案 0 :(得分:0)

动态创建配置:

在您的控制器中执行此操作,它只会附加到&#34; database.connections&#34;配置。

Config::set('database.connections.key', array(
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'dbname',
    'username'  => 'dbuser',
    'password'  => 'dbpass',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
));

然后您可以使用以下方式连接到数据库:

DB::connection('key');