如何在Yii / Yii2中的同一项目(app)中连接MongoDB和MySQL?

时间:2016-08-17 05:28:43

标签: mysql mongodb yii yii2

我要求在单个项目/应用程序中使用两种类型的数据库。现在我很困惑如何做到这一点。我试过个人而且他们工作但我不知道如何使用它。

1 个答案:

答案 0 :(得分:1)

对于Yii 2,您可以在配置中设置两个数据库组件,如:

'components' => [
    'dbMySQL' => [
        'class' => '\yii\db\Connection',
        'dsn' => 'mysql:...',
        'username' => '...',
        'password' => '...',
        'charset' => 'utf8',
    ],
    'dbMongo' => [
        'class' => '\yii\mongodb\Connection',
        'dsn' => 'mongodb://...',
    ],
],

然后在您想要的地方使用

Yii::$app->dbMySQL->...
Yii::$app->dbMongo->...

如果您使用ActiveRecords,请务必覆盖getDb()\yii\db\ActiveRecord类中的\yii\mongodb\ActiveRecord方法以指向这些组件。