小島健太郎
kojim****@gmail*****
2013年 3月 21日 (木) 09:57:12 JST
お世話になっております。 質問者です。 ご回答ありがとうございます。 みなさまからアドバイス頂いたように $this->db->join("m_staff as s1","d.uke_id=s1.staff_id","left"); $this->db->join("m_staff as s2","d.tai_id=s2.staff_id","left"); $this->db->join("m_staff as s3","d.update_id=s3.staff_id","left"); の書き方で正常に動作することを確認することができました。 大変助かりました。 また、アクティブレコードを使用することのメリットも大変参考になりました。 今後ともよろしくお願いいたします。 小島 **************************************** 2013年3月20日 18:27 齊藤保 <saito****@jin-s*****>: > 戸田様 > > ご教示ありがとうございます。 > とてもよく理解出来ました。 > 弊社でも少し研究してみます。 > > > > 2013年3月20日 15:27 戸田 広 <info****@sciss*****>: > >> こんにちは、戸田です。 >> >> 弊社では、上記の記述を見て分かる通り、アクティブレコードを >> 使用するのとSQLを自前で組むことの差異を感じられなかったため >> 使用しない選択をしたのですが、アクティブレコードを使用する事の >> メリット等ありましたら、ご教示いただけるとありがたいです。 >> >> >> 私がすぐ思いつく大きな違いは 2点ありまして、 >> その違いは、開発内容で言えば >> 初期条件が FIX して変わりにくい委託開発よりも >> 常に変化・柔軟な対応を求められる >> 自社パッケージの開発・展開などで利いてくると思っています。 >> >> >> 1. Active Record を使うと、仮に RDBMS が変わることになっても >> Model のコードを変更する必要がありません。 >> >> 2. CodeIgniter では、 Active Record を使うと >> /application/config/database.php で設定できる dbprefix が >> すべての SQL に対して自動的に付与されるようになっています。 >> dbprefix を変更する時は、 database.php を書き換えるだけで >> Model のコードを変更せずに、一元的に変更できます。 >> >> >> >> 以上です。 >> >> >> >> On 2013/03/20, at 12:56, 齊藤保 wrote: >> >> 横入りで失礼いたします。 >> JIN SOFTWAREという会社で、自社製品に >> CodeIgniterを使用させていただいている齊藤と申します。 >> よろしくお願いいたします。 >> >> アクティブレコードは弊社では使用しておらず、 >> SQLをダイレクトに組んで投げる方式をとっておりますが、 >> アクティブレコードが引数を元に最終的にはSQLを組み上げる >> ものであるならば、下記のような書き方になるのかと、 >> 推測します。 >> >> $this->db->select("*"); >> $this->db->from(t_daichou as d); >> $this->db->join("m_staff as s1","d.uke_id=s1.staff_id","left"); >> $this->db->join("m_staff as s2","d.tai_id=s2.staff_id","left"); >> $this->db->join("m_staff as s3","d.update_id=s3.staff_id","left"); >> >> これによって内部的に >> select * from t_daichou as d >> left join m_staff as s1 on d.uke_id=s1.staff_id >> left join m_staff as s2 on d.tai_id=s2.staff_id >> left join m_staff as s3 on d.update_id=s3.staff_id >> >> というSQLが投げられるようならこれでいけるかと >> 思います。 >> >> 弊社では、上記の記述を見て分かる通り、アクティブレコードを >> 使用するのとSQLを自前で組むことの差異を感じられなかったため >> 使用しない選択をしたのですが、アクティブレコードを使用する事の >> メリット等ありましたら、ご教示いただけるとありがたいです。 >> >> ちなみに弊社では今後も自社製品(受注も含め)には全て >> CodeIgniterを使用する計画でおります。 >> session周りで若干バグ臭い動きもありますが、回避出来ない >> レベルでなく、何より敷居の低さ、手軽さが魅力で、軽量なのに >> 必要な機能が揃っていると実感しています。 >> >> 導入の際には日本CodeIgniterユーザ会の発信される情報を >> 頼りにさせていただきました。あらためて御礼申し上げます。 >> >> 今後ともよろしくお願い申し上げます。 >> >> >> >> >> 2013年3月19日 18:57 Kenichi Hayashi <kenic****@gmail*****>: >>> >>> 林です。こんにちは。 >>> >>> > 要は同じテーブルをleftjoinで複数回参照する場合の書き方ですが、 >>> > 何かそのような記述方法というものがあるのででしょうか? >>> >>> m_staffにそれぞれエイリアスを指定してみてはどうでしょう。 >>> >>> "m_staff as s1" >>> "m_staff as s2" >>> "m_staff as s3" >>> >>> のような感じで。 >>> >>> -- >>> Kenichi Hayashi >>> >>> _______________________________________________ >>> Codeigniter-users mailing list >>> Codei****@lists***** >>> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users >> >> >> >> >> -- >> /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ >> /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ >> >> 〒167-0043 東京都杉並区上荻1-16-3 森谷ビル4B >> JIN SOFTWARE株式会社 >> 代表取締役 齊藤 保 >> TEL: 03-6915-1215 FAX: 03-6915-1216 >> Mobil: 090-4416-0111 >> Mail saito****@jin-s***** WEB http://jin-soft.jp >> >> /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ >> /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ >> _______________________________________________ >> Codeigniter-users mailing list >> Codei****@lists***** >> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users >> >> >> >> _______________________________________________ >> Codeigniter-users mailing list >> Codei****@lists***** >> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users >> > > > > -- > /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ > /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ > > 〒167-0043 東京都杉並区上荻1-16-3 森谷ビル4B > JIN SOFTWARE株式会社 > 代表取締役 齊藤 保 > TEL: 03-6915-1215 FAX: 03-6915-1216 > Mobil: 090-4416-0111 > Mail saito****@jin-s***** WEB http://jin-soft.jp > > /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ > /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ > > _______________________________________________ > Codeigniter-users mailing list > Codei****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users >