2016-05-19 3 views
1

私は、2つの異なるデータベースからのデータを結合するactivequeryの作成に苦労しています。 両方のデータベースがPostgreSQL上の同じマシンにあります。 1つのDBには、私のデータはほとんどありますが、2つ目のDBにある 'name'と 'region_id'の2つの列があります。 私は関係を作ってこれらの値を得ることができますが、DB2からregion_idに応じてDB1から値を取得する必要があります。Yii2マルチデータベースクエリ

DB1(テーブル地区): district_id - > いくつかのより多くのデータ...

DB2(テーブル地区)、DB2(ID)と 'トポロジ' と呼ばれる関係: ID、 名、 のregion_id 。

私は2つのモデルを両方のテーブルに持っていて、うまく機能します。 DB1用のモデルでは、DB2のテーブルに「トポロジ」と呼ばれるテーブルとの関係があり、試してみると:Districts::find()->joinWith('topology')->all();私はすべてメッセージがあるDB例外です。関係はありません。実行する必要がある

すべてが一つだけのregion_id ...

任意の提案でレコードを取得するには、where句を追加しているのですか? ありがとうございます。

+2

のPostgresを使用してrelationする場合は、あなたのモデルを使用する際に作業をマルチデータベース2つの異なるデータベース間の照会をサポートしていません。すべてのテーブルを* single *データベースに入れる必要があります。それらを区切りたい場合は、論理的にスキーマを使用してください –

答えて

0

iは

機能しないだけで、他のDBマルチデータベースjoin用のMySQL

ためのマルチデータベース作業を考えるが、Yii2にあなたが別のデータベース