Yii のドキュメントには、DO はデータベース スキーマで外部キー関係を定義すると書かれています。
次の表を試していただけますか? Yii は両方の外部キーを取得できるはずです。
create table a (
id int not null primary key,
extraid int not null unique
);
create table b (
id references a(id),
notsamextraid references a(extraid)
);
編集: 2 つのテーブル間に既に外部キーがあるかどうかを調べるには、次のクエリを使用できます。それは地球上で最も美しいクエリではありませんが、コピーアンドペーストがあります:-)
select t1.owner, t1.constraint_name, t1.constraint_type, t1.table_name, c1.column_name,
t2.owner, t2.constraint_name, t2.constraint_type, t2.table_name, c2.column_name
from all_constraints t1
join all_cons_columns c1
on t1.constraint_name=c1.constraint_name
and t1.owner=c1.owner
and t1.table_name=c1.table_name
join all_constraints t2
on t1.owner=t2.owner
and t1.r_constraint_name=t2.constraint_name
join all_cons_columns c2
on t2.constraint_name=c2.constraint_name
and t2.owner=c2.owner
and t2.table_name=c2.table_name
and c1.position=c2.position
where t1.constraint_type = 'R'
and t1.table_name in ('A','B');