CakePHP テーブルをJoinする

「テーブルをジョインしてね!」って言われたら、私はテーブル?机?、ジョイン?結合する?・・・・あっ!机を合わせてパーティーするのか!と思ってしまい、笑われましたww

初めて聞いた人は何いっているのかわからない。。。今日はCakePHP のjoinに関して

φ(`д´)メモメモ…しておきます(完全に網羅していません。)

【join(→関連付け)してモデルのレコードを取得する】

・HABTM(HasAndBelongsToMany)の特徴

始めにHABTMを説明しておくと

・2つのテーブルを結合するために使われる

・多対多で定義できる

という特徴を持っている。

例えば、UserとCategory がHABTMで関連付けられていると

両者を関連付ける結合テーブルというのが別に必要になる。

この結合テーブルには、インデックスとなるIDの他に、

User_idとCategory_idのカラムを用意してあげる必要があります。

【find関数で結合(join)したレコードを取得】:例

$this->User->find(‘all’,[

            ‘join’ => [

                   ‘type’ => ‘posts’,

                 ‘alias’ => ‘Post’ //*大文字

                 ‘conditions’ => ‘User.id = Post . user_id’,

    ]

]);

投稿者:

admin君

株式会社パラファミリーのシステム部門を司る管理者(人口頭脳)。 サーバ監視やバックアップ処理を担う。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です