手头有个项目,需要通过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动态连接数据库