多数据源
多数据源配置
可以在项目里配置多个数据源
class AppInit implements Init{
public function appInit(AutoFindHandlerMapping $autoMapping, Router $router){
Ioc::bind('mydb2',MySqlConnection::class,function(MySqlConnection $connection){
//这里可以直接从 config 获取
$connection->config([
'dsn'=>"mysql:dbname=xxxx;host=127.0.0.1;charset=utf8",
'username'=>"root",
'password'=>"root"
]);
});
}
使用
//使用第二个数据源
Context::useConnection('mydb2');
$id=DB::insert('user',$connection)->set('name','tengzhinei')->set('age',12)->excuse();
//切换为默认的数据源
Context::useConnection();
//切换为第二个数据源,并切换到 test scheme
Context::useConnection('mydb2','test');
//现在切换到test1的 scheme
Context::useConnectionScheme('test1');
请勿直接从 Ioc::get(Connection::class) Connection是由连接池管理的 Ioc里获取会出问题