【CakePHP】 データベースの更新、登録
データベースの登録の機能が欲しいと思ったので、具体的にどうすれば良いのか調べて見ました。
データベースの更新、登録がしたい場合はsaveメソッドを使います。saveメソッドが使い方によって更新(update)、登録(insert)ができるみたいです。
データの形式
CakePHPではモデルを保存するとき、以下の形式で保存します。
Array ( [ModelName] => Array ( [fieldname1] => 'value' [fieldname2] => 'value' ) )
更新する場合
データを更新する場合、更新したいテーブルのidを指定してあげれば、そのidのデータがupdateされます。
// Update: id に整数値がセットされている $this->Recipe->id = 2; $this->Recipe->save($this->request->data); $data = array('id' => 10, 'title' => 'My new title'); // id が 10 のレシピを更新 $this->Recipe->save($data);
登録する場合
データを登録したい場合は、テーブルのid(プライマリキー)を指定せずに登録するデータを用意してあげれば、insertと判断し新規登録してくれます。
// Create: id がセットされていない $this->Recipe->create(); $this->Recipe->save($this->request->data);
!ループ中にsaveを呼び出すときは、createメソッドを忘れないこと。