WordPress・WEB系の開発(プログラム)関係や技術情報ほか、技術情報全般を掲載

  • このエントリーをはてなブックマークに追加

CakePHP joins でアソシエーション設定をする方法

CakePHPでテーブル結合をする方法として、hasOne / belongsTo / hasMany / hasAndBelongsToMany など結合タイプ別に用意されています。
また [ joins ] でテーブル結合する方法もあるようです。

下記は、プロフィール情報を取得するメソッドに joins を使って都道府県情報テーブルを結合させて取得する例です。

/**
 * IDでプロフィールを取得する
 * @param int $id
 * @return array プロフィール
 */
public function getProfileByID($id)
{
    $options['joins'] = array(
        array(
            'table'      => 'pref',
            'alias'      => 'Pref',
            'type'       => 'LEFT',
            'conditions' => array( 'Profile.pref_id = Pref.pref_id' )
        )
    );
    $options['fields'] = array('Profile.*', 'Pref.*');
    $options['conditions'] = array('id' => $id);

    return $this->find('first', $options);
}

※アソシエーション: モデル同士を繋ぐ
http://book.cakephp.org/2.0/ja/models/associations-linking-models-together.html

※環境情報:
サーバ・・・CORESERVER
CakePHP・・・CakePHP 2.4.6

【PR】吉祥寺の雑貨を検索!ショップナビ吉祥寺
【PR】専修大学バスケ部情報!新人戦・リーグ戦・トーナメント

関連記事

コメントは利用できません。

アーカイブ