如何在Yii mongodbsuite中建立两个或多个数据库连接?
我在main.php中添加了2个数据库组件:
'components' => array(
'mongodb' => array(
'class' => 'common\extensions\MongoDB',
'connectionString' => 'mongodb://localhost:27017/table1',
'dbName' => 'table1',
'fsyncFlag' => false,
'persistentConnection' => 'x',
'replicaSet' => false,
'safeFlag' => true,
'useCursor' => false,
),
'mongodb2' => array(
'class' => 'common\extensions\MongoDB',
'connectionString' => 'mongodb://localhost:27017/table2',
'dbName' => 'table2',
'fsyncFlag' => false,
'persistentConnection' => 'x',
'replicaSet' => false,
'safeFlag' => true,
'useCursor' => false,
),
)
但是如何在查询中使用mongodb2
(例如: - > findByAttributes())我不知道。
请使用上面的mongodb2
连接提供一些示例查询。
答案 0 :(得分:2)
我只是添加'mongodb2'=>数组到'components'=>数组并添加到扩展EMongoDocument的模型(例如:用户):
public function getMongoDBComponent() {return Yii::app()->mongodb2;}
这是工作!
答案 1 :(得分:0)
基本上,您必须通过覆盖getDbConnection()
方法来修改活动记录类。 (在给定的链接中,您有一个使用中间继承层的更好示例)