你好,对你的帮助不大,
首先在 database.php 文件中添加 '%new_connection%' 以处理新连接以供将来使用。
要动态创建连接,假设您有一个带有变量 $name 数据库名称的路由。
第 1 步:
在我创建的 routes.file 中,并在 routes.php 中您想要的路由 url 上调用它
function appendNewConnection($name){
$path = base_path('config' . DIRECTORY_SEPARATOR . 'database.php');
$contents = file_get_contents($path);
$updatedContents = str_replace('%new_connection%', $name . '\' => [
\'driver\' => \'mysql\',
\'host\' => \'127.0.0.1\',
\'database\' => \'' . $name . '\',
\'username\' => \'root\',
\'password\' => \'\',
\'charset\' => \'utf8\',
\'collation\' => \'utf8_unicode_ci\',
\'prefix\' => \'\',
\'strict\' => false,
],
\'%new_connection%', $contents);
file_put_contents($path, $updatedContents);
}
第2步:
//to generate migration add below line in top of routes.php
use Illuminate\Support\Facades\Artisan;
add this line in function created above
Artisan::call('migrate', ['--database' => $name]);