我正在尝试将Eloquent连接到多个数据库sqlserver以获取默认值,将mongodb连接到辅助连接 . 我正在使用jenssegers / laravel-mongodb使用作曲家 . 这是我的数据库文件
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开箱即用,有人可以指出我正确的方向让这个工作吗?
2 回答
你是对的,它没有原生支持 . 但它很容易添加:
然后:
我发现恶意的答案和额外的代码行需要将胶囊正确地绑在Jenssenger模型中:
打电话给
将各种连接解析器/数据库管理器绑定到Eloquent模型,但它似乎没有将它们绑定到Jessenger模型 .