Php Laravel中的动态数据库更改
我正在使用Php Laravel中的动态数据库更改,php,database,laravel,laravel-5,Php,Database,Laravel,Laravel 5,我正在使用DB::disconnect和DB::reconnection为Laravel 5.2中的多租户系统连接数据库 代码如下: DB::disconnect(); Config::set('database.connections.mysql', $config); DB::reconnect(); 其中$config是要设置的配置数组,当我必须更改唯一的数据库名称时,它可以正常工作,但当我要更改数据库的前缀时,它不工作,每次都需要使用旧数据库 我曾尝试从中间件config:cache,
DB::disconnect
和DB::reconnection
为Laravel 5.2中的多租户系统连接数据库
代码如下:
DB::disconnect();
Config::set('database.connections.mysql', $config);
DB::reconnect();
其中$config是要设置的配置数组,当我必须更改唯一的数据库名称时,它可以正常工作,但当我要更改数据库的前缀时,它不工作,每次都需要使用旧数据库
我曾尝试从中间件config:cache
,在那里我更改了连接,但它删除了所有输入变量
那个么,我可以做些什么来更改DB连接的前缀呢?有什么帮助吗?您需要清除数据库对象的缓存:
// Will disconnect automatically
DB::purge('mysql');
// Register new config
Config::set('database.connections.mysql', $config);
// Will reconnect automatically
DB::table('table')->get();
您需要清除数据库对象的缓存:
// Will disconnect automatically
DB::purge('mysql');
// Register new config
Config::set('database.connections.mysql', $config);
// Will reconnect automatically
DB::table('table')->get();
非常感谢,laravel中有任何东西阻止数据库缓存吗?我认为没有。“数据库缓存”的意思是“sql连接”-这意味着如果您没有数据库缓存,laravel将在每次进行查询时连接和断开连接(这是低性能和压力证明)。非常感谢,laravel中是否有任何东西阻止数据库缓存?我认为没有。“数据库缓存”意味着“sql连接”-这意味着如果没有数据库缓存,laravel将在每次进行查询时连接和断开连接(这是低性能的,而且不受压力影响)