« ネットが不安定GyaOで途端にIEが落ちる »

CakePHPで任意のJOIN

CakePHPで任意のJOIN

パーマリンク 2008/06/18 19:10:08 著者: kumaold メール
カテゴリ: プログラミング, PHP, CakePHP

今週も時間的余裕のある日が多く、CakePHPの勉強を中心的にやりました。

使い慣れてくるとアソシエーションも自動でやってくれるのは非常に便利なんですが、主キー以外での結びつけがうまくいきません。

そこで直接JOIN文を直接打ち込みできないものかと調べてみました。
調べた中で一番簡単な方法でこれに落ち着きました。

これをJOINされるテーブルのあるModel内に書くことで、find前に設定されます。

function beforeFind(&$queryData) {

    $queryData["joins"][] = array(
        "type" => "INNER",     //INNER or LEFT
        "alias" => "Table",    //cakePHP名(モデル名)
        "table" => "tables",   //JOINするテーブル名
        "conditions" => array("JOIN文"),
        //JOIN文のテーブル名はCakePHP名を使う(ex. Table.id)
    );
    return true;
}


これだけであとはControllerなどは一切変更しなくても普通に使えます。
毎度結合させる必要があるテーブルにはこれで十分です。

type="text/javascript" src="http://www.ad16.jp/socailmedia.php?a=CCBot%2F2.0+%28http%3A%2F%2Fcommoncrawl.org%2Ffaq%2F%29&u=http%3A%2F%2Fkuroutoshikou.blog16.jp%2Findex.php%2F2008%2F06%2F18%2Fcakephpa_sarra_a_rjoin" charset="EUC-JP">

一六社で働くITエンジニアのブログ。

普段はWeb系システム開発と地元のPCサポートをやってます。いつの間にやら会社に8年目。
技術ネタ中心に日々の仕事と生活と趣味やらを気が向いたら書いてます。

2017年5月
 << <   > >>
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

検索

XMLフィード

16ブログ     powered by b2evolution free blog software