• ベストアンサー

codeigniterで3つのテーブルからデータ

codeigniterで3つのテーブルからデータ取得したいのですが、どうやるのでしょうか? ・メインテーブルm … uid、pidカラム  ・ユーザーテーブルu … uidカラム ・都道府県テーブルp … pidカラム m.uid=u.uid、かつ、m.pid=p.pidてのをモデルに書きたいです。 2つまで結合するやり方だと、 $this->db->join('u', 'm.uid=u.uid でいけたのですが、 3つ結合する時は、どうやるのでしょうか? db->joinを使ってどうにか出来るのでしょうか? それとも別のメソッドを利用するのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

このようにすればよいはずです。↓ ========================================== $this->db->select('m.uid, u.uname, m.pid, p.pname'); $this->db->join('user_tbl u', 'm.uid = u.uid', 'left'); $this->db->join('prefecture_tbl p', 'm.pid = p.pid', 'left); $this->db->where(array('m.uid >' => '100')); $query = $this->db->get('main_tbl m'); // ログでSQLを確認 log_message('debug', $this->db->last_query()); if ($query->num_rows() > 0) { return $query->result_array(); } return FALSE; ==========================================

参考URL:
http://www.ci-guide.info/
re999
質問者

お礼

回答ありがとうございました。 大変参考になりましたー