我是yii2和php的新蜜蜂。我正在使用YII2和mongodb创建一个项目但是给出错误{“response”:“failed”,“status_code”:500,“message”:“\”db \“指的是yii \ mongodb \ Connection组件.yii \ db \ Connection是预期的。“}
我的组件文件是
return [
'db' => require (__DIR__ . '/_mongodb.php'),
'urlManager' => require (__DIR__ . '/_urlRules.php'),
'request' => require (__DIR__ . '/_request.php'),
'log' => require (__DIR__ . '/_log.php'),
'response' => require (__DIR__ . '/_response.php'),
'user' => require (__DIR__ . '/_user.php'),
'cache' => require (__DIR__ . '/_cache.php'),
'mailer' => require (__DIR__ . '/_mail.php'),
'languageSelector' => require (__DIR__ . '/_languageSelector.php'),
'i18n' => require (__DIR__ . '/_i18n.php'),
'assetManager' => [
'class' => 'app\components\asset\AssetManager',
'resource' => [
'path' => 'resources' . DIRECTORY_SEPARATOR,
'tempPath' => 'temp' . DIRECTORY_SEPARATOR,
'thumbnailPath' => 'thumbs' . DIRECTORY_SEPARATOR
]
],
'storageFactory' => [
'class' => 'app\components\storage\StorageFactory',
'local' => [
'class' => 'app\components\storage\FileStorage',
'connector' => require (__DIR__ . '/_localStorage.php')
],
'network' => [
'class' => 'app\components\storage\FileStorage',
'connector' => require (__DIR__ . '/_localStorage.php')
]
]
]?>
_mongodb.php文件
return [
'class' => 'yii\mongodb\Connection',
'dsn' => 'mongodb://localhost:27017/genie'
];
我尝试在Google中找不到任何内容
答案 0 :(得分:0)
Yii框架的几个类使用db
组件并期望它是yii\db\Connection
类型,这就是你得到错误的原因。
请务必检查docs on the MongoDb Connection class,在这里您可以看到如何正确初始化mongodb组件。配置这样的新属性:
mongodb => require(__DIR__ . '/mongodb.php')
现在您可以通过Yii::$app->mongodb
此外,如果您不需要使用关系数据库,则只需省略db
组件。