Yii 多数据库关系

Yii 多数据库关系,yii,Yii,我有两个数据库 db1和db2。我在config/main.php文件中定义了它们 db1有表1,db2有表2 表1有一列,它是表2的主键 如何定义表1中的关系 我照常这样做,但它正在从db1.table2检索数据 基本上,我想链接您必须使用的db1.table1和db2.table2,并进行如下查询: SELECT u1.* FROM database1.users u1 LEFT JOIN database2.users u2 ON u1.id=u2.id WHERE u2.id IS NO

我有两个数据库

db1和db2。我在config/main.php文件中定义了它们

db1有表1,db2有表2

表1有一列,它是表2的主键

如何定义表1中的关系

我照常这样做,但它正在从db1.table2检索数据

基本上,我想链接您必须使用的db1.table1和db2.table2,并进行如下查询:

SELECT u1.* FROM database1.users u1 LEFT JOIN database2.users u2 ON u1.id=u2.id WHERE u2.id IS NOT NULL;

要使用另一个db连接,可以覆盖模型中的
getDbConnection()
方法。看一看:

public function getDbConnection(){
    Yii::app()->db2->setActive(true);
    return Yii::app()->db2;
}
无论如何,yii1.X并不正式支持跨数据库关系。您可能需要编写一些代码。正如Yii的官方维基所说:

对多数据库支持的限制: 一个数据库中的表不能直接引用另一个数据库中的表,这意味着关系不会跨越数据库边界


嗨,用户,如果我发布我的完整代码,使这项工作。你能给我打勾吗?只有这样我才能帮助你。:)我已经解决了这个问题。