テーブル
ID|owner_id|work_id|lorem|etc|
1 |00123 | 00213 |XXXXX|XXX|
2 |00124 | 00213 |XXXXX|XXX|
owner_id (fk) owners.id (owners[id,name,etc])
work_id (fk) work.id (work[id,name,etc])
問題はcodeigniter
、私が
select(table.*,work.name as work,owners.name as owner) from table
そのテーブルにはすでにfk-refが含まれているため、結合を自動的に処理しますか?または私は含める必要がありますjoin('owner','owner.id=table.owner_id)
か?
実際に必要なのは、fkを含むテーブルを選択すると、モジュールに特定の関数を作成することを心配せずに、refテーブルの列名を渡すだけで、このfk列がref行の1つの列に置き換えられることです。各クエリ。
私の現在の解決策:
リレーションを含むテーブルごとにビューを作成し、すべてのfk列を目的のref値に置き換えることでしたが、6つのテーブルがあり、そのうち5つがfkであるため、dbに6つのテーブルと5つのビュー(11テーブル)があります。私にとっては本当に親切な混乱ですので、これを行うためのより賢い方法はありますか?