gpt4 book ai didi

mongodb - 在 Laravel 之外 Eloquent 地使用 jenssegers/laravel-mongodb 多个数据库连接

转载 作者:可可西里 更新时间:2023-11-01 09:57:19 29 4
gpt4 key购买 nike

我正在尝试将 Eloquent 连接到多个数据库 sqlserver 作为默认连接,而 mongodb 作为辅助连接。我正在使用 jenssegers/laravel-mongodb 使用 composer 引入。这是我的数据库文件

use Illuminate\Database\Capsule\Manager as Capsule;

$capsule = new Capsule;

$capsule->addConnection([
'driver' => 'sqlsrv',
'host' => '******',
'database' => '*****',
'username' => '*****',
'password' => '*****',
'prefix' => '',
], 'default');

$capsule->addConnection([
'driver' => 'mongodb',
'host' => 'localhost',
'port' => 27017,
'username' => '',
'password' => '',
'database' => 'production'
], 'mongo');

$capsule->setAsGlobal();
$capsule->bootEloquent();

问题是当我尝试连接到 mongo 数据库时它抛出以下错误:

InvalidArgumentException thrown with message "Unsupported driver [mongodb]"

在我看来,Illuminate 连接工厂不支持开箱即用的 mongodb,有人可以为我指明正确的方向以使其正常工作吗?

最佳答案

你是对的,它没有原生支持。但很容易添加:

composer require jenssegers/mongodb:*

然后:

use Illuminate\Database\Capsule\Manager as Capsule;
use Jenssegers\Mongodb\Connection as Connection;

$capsule = new Capsule();

$capsule->getDatabaseManager()->extend('mongodb', function($config){
return new Connection($config);
});

关于mongodb - 在 Laravel 之外 Eloquent 地使用 jenssegers/laravel-mongodb 多个数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25339592/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com