(CakePHP2.x)フォームを使わずにsaveする方法

CakePHP

CakePHP

フォームを使わずに

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しています。

データを保存する

CakePHP2 実践入門 (WEB DB PRESS plus)

新品価格
¥3,110から
(2015/1/27 23:08時点)

スポンサードリンク

コメントを残す

サブコンテンツ

このページの先頭へ