我该如何更改Laravel动态数据库?比方说,我们有以下变量:
laravel 5动态mysql数据库
- $主机(MySQL主机/ IP)
- $用户(MySQL用户名)
- $名(MySQL数据库名)
- $通(MySQL的用户密码)
如何在Laravel 5中连接到此MySQL服务器而无需每次都在配置中进行设置?
问候
我该如何更改Laravel动态数据库?比方说,我们有以下变量:
laravel 5动态mysql数据库
如何在Laravel 5中连接到此MySQL服务器而无需每次都在配置中进行设置?
问候
试试这个假设的模型Book
use Book;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Config;
public function configureDatabase($database){
Config::set("database.connections.$database", array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => "$database",
'username' => 'root',//User name here
'password' => '***', //Password here
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
));
}
public function getBooks($database){
$this->configureDatabase($database)
return Book::on($database)->all();
}
我可以在一次执行中使用几乎无限次的配置吗?配置::设置有限吗? –
当然可以。文档没有说Config :: set()的调用是有限的。请记住,它创建了一个到另一个数据库的新连接,这是一个昂贵的计算。 –
谢谢。你能回答为什么我的问题被低估吗?什么问题?没有代码?对于这个问题,我认为没有必要的代码。 –
在'.env'文件? – jycr753
@ jycr753啊不,我从我的内部数据库中获取这个变量,它是在**。env **中设置的。但我需要连接到外部数据库的变量,我不能设置每个服务器的配置(+200),因为用户删除他们的服务器或添加新的... –