• 多数据源
    • 多数据源配置

    多数据源

    多数据源配置


    可以在项目里配置多个数据源

    1. class AppInit implements Init{
    2. public function appInit(AutoFindHandlerMapping $autoMapping, Router $router){
    3. Ioc::bind('mydb2',MySqlConnection::class,function(MySqlConnection $connection){
    4. //这里可以直接从 config 获取
    5. $connection->config([
    6. 'dsn'=>"mysql:dbname=xxxx;host=127.0.0.1;charset=utf8",
    7. 'username'=>"root",
    8. 'password'=>"root"
    9. ]);
    10. });
    11. }

    使用

    1. //使用第二个数据源
    2. Context::useConnection('mydb2');
    3. $id=DB::insert('user',$connection)->set('name','tengzhinei')->set('age',12)->excuse();
    4. //切换为默认的数据源
    5. Context::useConnection();
    6. //切换为第二个数据源,并切换到 test scheme
    7. Context::useConnection('mydb2','test');
    8. //现在切换到test1的 scheme
    9. Context::useConnectionScheme('test1');
    请勿直接从 Ioc::get(Connection::class) Connection是由连接池管理的 Ioc里获取会出问题

    上一篇:返回类型   下一篇:Record模型