CakePHP

 PHPのフレームワーク「CakePHP」を使用していると
 「あれ?どっちだっけ?」
ということがたまにあります。何に迷うのかは色々とあるのですが、その中の1つがアソシエーションです。

 アソシエーションとはテーブルとテーブルを結びつけるもので、Accessの場合、リレーションとよく言います(あまりAccessと比較する人もいませんが(^_^;))。

 CakePHPではアソシエーションに

  • hasOne (1対1)
  • hasMany (1対多)
  • belongsTo (多対1)
  • hasAndBelongsToMany (多対多)

の4種類があり、特によく使用されるのが、hasManybelongsToではないでしょうか?

 このhasManyとbelongsToが私の頭の中では1対多だったか多対1だったかがすぐ忘れてしまうんです。
 「英語読めばわかるんじゃないの?」
といわれそうですが、それでも、頭の中で混乱してしまうんですよね~。そんなことないですか?

 そんな私のように混乱する人のためにhasManyとbelongsToの関係を図とソースで表した絵をちょっと書いたので下記に公開しておきます。
 「そんなやついないよ」
といわれてしまうと(T.T)ですが・・・。

 hasManyとbelongsToの関係を書いた絵は下記です。

CakePHP アソシエーション belongsTo と hasMany の関係

CakePHP アソシエーション belongsTo と hasMany の関係

 上記画像をクリックすると画像ファイルで取得できます。もし、PDFで取得したい場合は下記リンクをご利用ください。

CakePHP アソシエーション belongsTo と hasMany の関係(PDF)

追記:コメント欄の指摘にもあるとおり「hasMany」と「hasMeny」の表記が間違っています。正しくは「hasMany」となりますので、間違えている箇所は読み替えてください。

CakePHP ポケットリファレンス (Pocket Reference)

著者/訳者:株式会社ブルーオーシャン 岡田 佳典

出版社:技術評論社( 2008-06-18 )

定価:¥ 2,678

Amazon価格:¥ 2,678

単行本(ソフトカバー) ( 448 ページ )

ISBN-10 : 4774135038

ISBN-13 : 9784774135038