PHP Yii:数据库在运行时连接(PHP Yii: Database connect in runtime)
我想在运行时使用Yii连接到第二个数据库。 用户登录后,数据库名称将来自数据库表。
我在教程中看到我应该这样做:
$db2 = Yii::createComponent(array( 'class' => 'EMongoClient', 'server' => 'mongodb://127.0.0.1:27017', 'db' => $emp['database'] )); Yii::app()->setComponent('db2',$db2);但在我的控制器中,当我访问Yii::app()->db2得到错误:
未定义属性“CWebApplication.db2”
我究竟做错了什么?
I would like to connect to a second database with Yii at runtime. The database name would come from a database table after the user to login.
I saw in a tutorial I should do this:
$db2 = Yii::createComponent(array( 'class' => 'EMongoClient', 'server' => 'mongodb://127.0.0.1:27017', 'db' => $emp['database'] )); Yii::app()->setComponent('db2',$db2);But in my controler when I access Yii::app()->db2 get the error:
Property "CWebApplication.db2" is not defined
What am I doing wrong?
最满意答案
以下为我工作:
Yii::app()->mongodb->setActive(false); Yii::app()->mongodb->setServer('mongodb://localhost:27017'); Yii::app()->mongodb->setDb('db1'); Yii::app()->mongodb->setActive(true);The following works for me:
Yii::app()->mongodb->setActive(false); Yii::app()->mongodb->setServer('mongodb://localhost:27017'); Yii::app()->mongodb->setDb('db1'); Yii::app()->mongodb->setActive(true);更多推荐
发布评论