设置Laravel的DB时,尝试动态生成
When setting Laravel's DB, try to dynamically generate it
DB的名字分别是board 1, board 2, board 3, board 4 to board 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
],
}
动态创建配置:
在您的控制器中执行此操作,它只会附加到 "database.connections" 配置中。
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');
DB的名字分别是board 1, board 2, board 3, board 4 to board 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
],
}
动态创建配置:
在您的控制器中执行此操作,它只会附加到 "database.connections" 配置中。
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');