スポンサードリンク

フォームを使わずに
DBを変更させたいことがありました。
CakePHPにあるsaveメソッドを使って
DBの変更のやり方です。
スポンサードリンク
フォームを使わないsaveの仕方
CakePHPのBOOKのsaveメソッドを見ると
Model::save(array $data = null, boolean $validate = true, array $fieldList = array())
上記の様になっています。
第1引数に値、第2引数にバリデーション、第3引数に変更するフィールドを
渡すとDBの変更ができるようです。
insertする場合
//登録する値 $data = array('Model' => array('name' => '山田', 'status' => 1)); // 登録するフィールド $fields = array('name', 'status'); // 新規登録 $this->Model->save($data, false, $fields);
updataする場合
//登録する値 $data = array('Model' => array('id' => 5, 'name' => '山田', 'status' => 1)); // 登録するフィールド $fields = array('name', 'status'); // 更新 $this->Model->save($data, false, $fields);
渡す値にidがないと新規追加のinsertとして判断してくれます。
逆に、渡す値にidがあると更新のupdataとして判断してくれます。
第2引数にfalseをしているので
バリデーションなしでsaveしています。
スポンサードリンク