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

■$hasMany

$className 関連付けるモデルクラス名
$foreignKey 自分の外部キーを格納する相手側モデルのフィールド名
$conditions 追加の検索条件
$fields 該当フィールド名
$type JOINの形式。デフォルトは「LEFT」
$order ソート順を指定
$limit 取得レコードの最大値
$offset スキップするレコード数
$dependent 自分のレコードを削除した際、相手側のレコードも削除するか否か。「true」で削除
$exclusive deleteAll()で一括削除を行いたい場合はtrueを指定
$finderQuery find()時に独自のSQLを発行したい場合に指定

 

■$belongsTo

$className 関連付けるモデルクラス名
$foreignKey 相手の外部キーを格納する自分側モデルのフィールド名
$conditions 追加の検索条件
$fields 該当フィールド名
$type JOINの形式。デフォルトは「LEFT」
$dependent 自分のレコードを削除した際、相手側のレコードも削除するか否か。「true」で削除
$counterCache 相手側のモデルで使用されるテーブル内に自分自身のレコード数を格納したい場合はtrue。格納するフィールド名を指定したい場合はフィールド名を指定

 

■$hasAndBelongsToMany

$className 関連付けるモデルクラス名
$joinTable 中間テーブル名
$with 関連付けたい中間テーブルに対するモデル名。中間テーブルにも値を保持しモデルとして利用したい場合に指定
$foreignKey 自分に対する外部キーを格納する中間テーブル内のフィールド名
$associationForeignKey 相手側の外部キーを格納する中間テーブル内のフィールド名
$unique 相手側に重複した値を許可しない場合はtrue
$conditions 追加の検索条件
$fields 該当フィールド名
$type JOINの形式。デフォルトは「LEFT」
$order ソート順を指定
$limit 取得レコードの最大値
$offset スキップするレコード数
$finderQuery find()時に独自のSQLを発行したい場合に指定
$deleteQuery delete()時に独自のSQLを発行したい場合に指定
$insertQuery save()時に独自のSQLを発行したい場合に指定