要在两个数据库实例(同一个server)上进行关联数据查询,纯SQL语句如下:
select a.*,b.* from db1.user as a,db2.log as b where a.id=b.user_id;
要在Yii1 Model中支持这个,需要修改下user模型类的getDbConnection和tableName方法如下:
/** * @return CDbConnection database connection */ public function getDbConnection() { return Yii::app()->db_log; } /** * @return string the associated database table name */ public function tableName() { preg_match("/dbname=([^;]+)/i", $this->dbConnection->connectionString, $matches); return $matches[1].'.log'; }