【CakePHP2.3】Modelクラスのアソシエーション挙動まとめ。

自分用。

hasOne:
(A hasOne B)
1対1の関係。Aモデルの1行に対してBモデルの1行が結びつく。外部キーはBテーブル内に存在。
hasMany:
(A hasMany B)
1対多の関係。Aモデルの1行に対して、Bモデルの複数行が結びつく。外部キーはBテーブル内に存在。
belongsTo:
(A belongsTo B)
多対1の関係。Aモデルの複数行が、Bモデルの1行と結びついている。外部キーはAテーブル内に存在。
hasAndBelongsToMany:
(A HABTM B)
複数対複数の関係。AテーブルにもBテーブルにも外部キーは存在せず、A_Bという中間テーブルを作成しそこでレコードの結びつきを管理する。