ECWorks Blog

ECWorks Blog

CakePHPを中心としたサイト開発情報をメインに公開。新しもの好きなので時々製品レポートなんかも。

【CakePHP辞典】Tips第2回:Model::save()の追加説明

Pocket詳解 CakePHP辞典」内で、Modelクラスで主要機能でもある「Model::save()」内の解説について、若干足りない部分がありましたので追加させていただきます。

【書式】

$this->save($data, $validate, $fieldList);

【引数】

変数名 初期値 説明
$data array null 保存するデータの連想配列
$validate mixed true バリデーションを行う場合はtrue。また他のオプションを与えたい場合は連想配列で指定。下記参照
$fieldList array array() 保存するフィールド名の配列。nullの場合は現在の$this->whitelistの保存指定を空にする。array()の場合は現在値で保存する

▼$validateに指定できるオプション値

キー名 初期値 説明
validate array null 保存するデータの連想配列
fieldList array array() $fieldListと同じ値を指定する
callbacks array array() コールバックメソッドを実行する場合にtrue。もしくは「before」でbeforeSave()を、「after」でafterSave()を実行する

$validateは、そのものの値はbooleanですが、連想配列を与えることもでき、一般的な$optionsと同じようにオプション値としてふるまいます。この場合は$fieldListは無視されますので、必要なら$validate内に含めます。また「callbacks」というパラメータを与えることもできます。callbacks は通常trueであり「beforeSave()」「afterSave()」コールバックを通過しますが、falseにすることで通過しません。また 「before」「after」とすることでbeforeSave()だけ、afterSave()だけ通過させることもできます。

なお、このcallbacksオプションは「Model::saveAll()」のオプション値としても有効です。何故ならsaveAll()は内部でsave()をコールしているためです。

各メソッドの解説は「Pocket詳解 CakePHP辞典」の58ページおよび61ページに掲載されています。

ほかにも便利な機能が紹介されている「Pocket詳解 CakePHP辞典」を是非よろしくお願いします!

Pocket詳解 CakePHP辞典

Pocket詳解 CakePHP辞典 [書籍]

著者滝下 真玄

出版社秀和システム

出版日2010-09-27 (月)

商品カテゴリー単行本

ページ数672

ISBN4798027456

Supported by amazon Product Advertising API


Tagged as: ,

Comments are closed.