Archives by date

You are browsing the site archives by date.

【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を発行したい場合に指定

 

【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という中間テーブルを作成しそこでレコードの結びつきを管理する。

 

【CakePHP2.3】Controllerクラスの全プロパティまとめ。

自分用。

プロパティ(変数) デフォルト 説明
$autoLayout true 自動でレイアウトとビューを結合するか否か
$autoRender true 自動でビューをレンダリングするか否か
$cacheAction false ビューキャッシュを用いる場合に指定
$components array(‘Session’) コントローラー内で使用するコンポーネントを指定
$Components null コンポーネントを管理するクラスのインスタンス
$ext ‘.ctp’ ビューファイルの拡張子を指定
$helpers array() コントローラー内で使用するヘルパーを指定
$layoutPath null レイアウトファイルを格納するパス
$layout ‘default’ レイアウトとして使用するファイル名
$methods array() Controllerクラス以外に作成されたメソッドが格納される
$modelClass null コントローラー名に対応するモデル名が格納される
$modelKey null $modelClassに対応するキー名が格納される
$name null コントローラー名を指定
$passedArgs array() URLに含まれるパラメーターが格納される
$plugin null 指定されたプラグイン名が格納される
$request N/A CakeRequestクラスのインスタンス
$response N/A CakeResponseクラスのインスタンス
$scaffold false scaffold機能を使用するか否か
$uses true コントローラー内で使用するモデル名を指定
$validationErrors null バリデーションエラーメッセージが格納される
$view null 利用するビューのテンプレート名を設定
$View N/A ビュークラスのインスタンス
$viewClass ‘View’ ビュークラス名を指定する
$viewPath null ビューテンプレートを格納するパス
$viewVars array() set()関数で登録された値が格納される
$_eventManager null イベントマネージャークラスのインスタンス
$_mergeParent ‘AppController’ 親クラスと値をマージする際の、親クラス名
$_responseClass ‘CakeResponse’ レスポンス情報の格納されたクラスの名前