PHPのフレームワーク「CakePHP」を使用していると
「あれ?どっちだっけ?」
ということがたまにあります。何に迷うのかは色々とあるのですが、その中の1つがアソシエーションです。
アソシエーションとはテーブルとテーブルを結びつけるもので、Accessの場合、リレーションとよく言います(あまりAccessと比較する人もいませんが(^_^;))。
CakePHPではアソシエーションに
- hasOne (1対1)
- hasMany (1対多)
- belongsTo (多対1)
- hasAndBelongsToMany (多対多)
の4種類があり、特によく使用されるのが、hasManyとbelongsToではないでしょうか?
このhasManyとbelongsToが私の頭の中では1対多だったか多対1だったかがすぐ忘れてしまうんです。
「英語読めばわかるんじゃないの?」
といわれそうですが、それでも、頭の中で混乱してしまうんですよね~。そんなことないですか?
そんな私のように混乱する人のためにhasManyとbelongsToの関係を図とソースで表した絵をちょっと書いたので下記に公開しておきます。
「そんなやついないよ」
といわれてしまうと(T.T)ですが・・・。
hasManyとbelongsToの関係を書いた絵は下記です。
上記画像をクリックすると画像ファイルで取得できます。もし、PDFで取得したい場合は下記リンクをご利用ください。
CakePHP アソシエーション belongsTo と hasMany の関係(PDF)
追記:コメント欄の指摘にもあるとおり「hasMany」と「hasMeny」の表記が間違っています。正しくは「hasMany」となりますので、間違えている箇所は読み替えてください。
Pingback: CakePHPのアソシエーション覚書 | おうちのかたへ
Pingback: CakePHP のアソシエーションで商品データを取り出す時に店舗データも同時に取得する方法 | ウェブル