CakePHPでデータの登録、更新をする場合にsave()メソッドを使用してデータを保存します。
save()メソッドは使い方によって「insert」または「update」のSQLを実行します。
今回はCakePHPのsave()メソッドを使用しデータを保存した時のメモを記載します。
■ CakePHP save()メソッド
データを保存する為のメソッドです。
■ 「insert」登録する場合
save()メソッドを使用してデータを新規登録するには、登録するテーブルの主キーを設定せずに登録するデータを用意すれば「insert」できます。
※主キーが「id」の場合
新規にデータを登録するには、下記のように設定します。
// 登録する内容を設定 $data = array('Hoge' => array('name' => 'hoge', 'status' => 1)); // 登録する項目(フィールド指定) $fields = array('name', 'status'); // 新規登録 $this->Hoge->save($data, false, $fields);
nameが’hoge’でstatusが1のデータを新規登録します。
■ 「update」更新する場合
save()メソッドを使用してデータを更新するには、テーブルの主キーの値を設定してデータを用意すれば「update」できます。
※主キーが「id」の場合
idが1のデータを更新する場合、更新するデータでid(主キー)を設定します。
下記はidが1のデータのstatusを更新しています。
// 更新する内容を設定 $data = array('Hoge' => array('id' => 1, 'status' => 2)); // 更新する項目(フィールド指定) $fields = array('status'); // 更新 $this->Hoge->save($data, false, $fields);
主キーを設定した場合は、データを更新することができます。