Yii2在跨库的情况下使用query

yii2大法好
当用习惯了yii2后 真的不想再使用yii1了

当我们的业务想要使用同一个数据库实例上的不同库中两张表A,B进行联表查询时,可以使用如下方法

做法应该跟我们平时的操作差不多

假设有数据库 DB_A & 数据库DB_B
DB_A 中有 t_1
DB_B 中有 t_2
现在我们的业务需要将t_1 t_2进行联表查询,如果直接写SQL,那很简单

select *
from DB_A.t_1
left join DB_B.t_2 ON xxx = xxx

这个做法应该没有什么异议吧
虽然对于跨库,本人也不清楚这样做有什么问题没有,不过对于我们这种小公司小部门,就不要太在意这些,只要业务逻辑没问题就ok

那么想要使用yii框架中的query,要如何实现呢,也很简单

$this->select([***])
->from('DB_A.t_1 t1')
->leftJoin('DB_B.t_2 t2', 'xxx = xxx')

其实就是在指定联表的时候指定对应的数据库名字就好了,不过使用这种方法,需要注意,两个数据库需要在同一个实例上,不在同一个实例上应该是行不通的,我猜的。

你可能感兴趣的:(Yii2在跨库的情况下使用query)