多个数据库连接Yii2无法正常工作

时间:2015-08-10 09:00:17

标签: yii2 dbconnection

Yii::setAlias('@tests', dirname(__DIR__) . '/tests');

$params = require(__DIR__ . '/params.php');
$db = require(__DIR__ . '/db.php');
$dbPusat = require(__DIR__ . '/dbPusat.php');
$dbPaperless = require(__DIR__ . '/dbPaperless.php');

return [
    'id' => 'basic-console',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log', 'gii'],
    'controllerNamespace' => 'app\commands',
    'modules' => [
        'gii' => 'yii\gii\Module',
    ],
    'components' => [
        'cache' => [
            'class' => 'yii\caching\FileCache',
        ],
        'log' => [
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
        'db' => $db,
        'dbPusat' => $dbPusat,
        'dbPaperless' => $dbPaperless,
    ],
    'params' => $params,
];

在我的console.php中,我有3个连接,有db,dbPusat和dbPaperless。 对于db和dbPusat来说,它的工作非常完美。但是对于dbPaperless它没有检测到。当我想从该连接生成模型时,会出现这样的错误。

error messge

请帮帮我,谢谢。

1 个答案:

答案 0 :(得分:1)

从配置格式我假设您基于基本应用程序。在你的解释中,你提到在“你的console.php - 配置中你定义了3个连接”。这些只适用于控制台。

您添加的屏幕截图清楚地显示了一个网络界面。因此,我只能得出结论,你没有在web.php - config中添加相同的3个连接。

当您在命令行上启动操作时,基本应用使用console.php(通过./yii,当您通过浏览器访问应用时,它会使用web.php

基本上:将您的连接配置复制到web.php,您应该没问题。