小島健太郎
kojim****@gmail*****
2013年 3月 19日 (火) 18:02:15 JST
お疲れ様です。小島と申します。 CodeIgniterのアクティブレコードで質問させてください。 例えば以下のような台帳系テーブルがあるとします。 (サンプルとして障害対応記録のようなものを例に挙げます) t_daichou (受付者ID,受付内容,対応者ID,対応内容,更新者ID,更新日) uke_id | uke_naiyou | tai_id | tai_naiyou | update_id | updatedate 00013 | test | 00023 | test | 00999 | 2013-01-01 00002 | test | 00301 | test | 00008 | 2013-01-03 00992 | test | 00003 | test | 00192 | 2013-01-04 00432 | test | 00231 | test | 00204 | 2013-01-04 00011 | test | 00022 | test | 00003 | 2013-01-05 00054 | test | 00031 | test | 00098 | 2013-01-07 このとき、受付者IDも対応者IDも更新者IDもスタッフマスタ(m_staff)からとってくる場合、CodeIgniterのModelへ下記のような記述をした場合、当然エラーとなります。 function getList(){ $this->db->select("*"); $this->db->from(t_daichou); $this->db->join("m_staff","t_test.uke_id=m_staff.staff_id","left"); $this->db->join("m_staff","t_test.tai_id=m_staff.staff_id","left"); $this->db->join("m_staff","t_test.update_id=m_staff.staff_id","left"); } 要は同じテーブルをleftjoinで複数回参照する場合の書き方ですが、 何かそのような記述方法というものがあるのででしょうか? (通常のSQLだったら回避するような書き方があるようですが アクティブレコード(?)でどのような記述となるのでしょうか) ないようでしたらあきらめがつきます。 宜しくお願い致します。