在非laravel项目中引入Illuminate\Database

 1、在composer.json加上对应的包,composer update

{
  "require": {
    "illuminate/database": "^6.18",
    "doctrine/dbal": "^2.10",
    "illuminate/events": "^6.18"
  },
  "repositories": {
    "packagist": {
      "type": "composer",
      "url": "https://mirrors.aliyun.com/composer/"
    }
  }
}

2、建立配置文件在项目的入口文件引入,我是叫orm.php,我在入口文件index.php的地方就是

include "orm.php";

use Illuminate\Database\Capsule\Manager as Capsule;
use Illuminate\Events\Dispatcher;
use Illuminate\Container\Container;
$admin = [
    'driver'    => 'mysql',
    'host'      => '',
    'database'  => '',
    'username'  => 'root',
    'password'  => '',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
];
$sdk = [
    'driver'    => 'mysql',
    'host'      => '',
    'database'  => '',
    'username'  => 'root',
    'password'  => '',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
];

$capsule = new Capsule;
// 创建链接(多库配置)
$capsule->addConnection($admin,'default');   
$capsule->addConnection($sdk,'sdk');
// 数据库查询事件
$capsule->setEventDispatcher(new Dispatcher(new Container));

// 设置全局静态可访问
$capsule->setAsGlobal();

Capsule::connection('default')->listen(function ($query) {
    //这里是执行sql后的监听回调方法
    $sql = vsprintf(str_replace("?", "'%s'", $query->sql), $query->bindings) . " [" . $query->time . ' ms] ';
    // 把SQL写入到日志文件中
    Debug::log($sql, 'info');
});
// 启动Eloquent
$capsule->bootEloquent();

3、在使用到的地方

引入类

use Illuminate\Database\Capsule\Manager as DB;

sql操作

 $items = DB::connection('sdk')->table('user')->where('id', '>', '1')->get();

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值