wp_post在blog_cn数据库中,而stat_weibo在task数据库中。现在两个数据表需要进行连表查询,该如何实现?
光阴似箭催人老,日月如移越少年。
也要注意 這兩個資料庫在一個 mariadb實例 中。跨mariadb, 跨伺服器做join是不行的
重寫ActiveRecord::getDb()方法,預設回去根據配置的db component來連接資料庫。
若兩個資料庫在同一個Mysql伺服器可以這樣做
重寫 Weibo model類別的 tableName() 方法:
public static function tableName() { preg_match("/dbname=([^;]+)/i", self::getDb()->dsn, $matches); return $matches[1].'.weibo'; }
若兩個資料庫不在同一個Mysql伺服器中則暫時沒有解決方法
也要注意 這兩個資料庫在一個 mariadb實例 中。跨mariadb, 跨伺服器做join是不行的
重寫ActiveRecord::getDb()方法,預設回去根據配置的db component來連接資料庫。
若兩個資料庫在同一個Mysql伺服器可以這樣做
重寫 Weibo model類別的 tableName() 方法:
若兩個資料庫不在同一個Mysql伺服器中則暫時沒有解決方法