最新消息:欢迎光临!

laravel动态连接数据库

php findever 110浏览 0评论

手头有个项目,需要通过db配置来动态连接其他的db,也就是说db相关配置都是动态的,并不在配置文件中存在,那么要怎么连接呢?

经过查询,发现laravel的orm其实是独立的,可以通过Illuminate\Database\Capsule\Manager来进行操作,具体实现如下:

<?php
        use Illuminate\Database\Capsule\Manager as Capsule;
        $capsule = new Capsule();
        $capsule->addConnection([
            'driver' => 'mysql',
            'host' => '127.0.0.1',
            'port' => '3306',
            'database' => 'test',
            'username' => 'test',
            'password' => 'testpasswd',
            'charset' => 'utf8',
        ],'test');

        // 设置全局静态可访问,这句是把对象设置到全局静态变量,后面就可以通过静态方法调用直接取到了,局部非静态的调用可以不用
        // $capsule->setAsGlobal();

        // 启动 Eloquent ORM
        $capsule->bootEloquent();
        $curSys = $capsule->getConnection('test')->table('t_test')->first();
        print_r($curSys);

转载请注明:Findever » laravel动态连接数据库

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址