CakePHPでSaveAllするときにハマッたのでメモです。
フォームのPOSTで下記のデータが飛んできたときに、SaveAllしたらうまく行きませんでした。
1 2 3 4 5 6 7 8 9 10 11 12 |
$this->data = array( 'Model' => array( 0 => array( 'name' => 'taro', 'age' => 30 ), 1 => array( 'name' => 'jiro', 'age' => 40 ) ) ); |
SaveAllの書き方は間違っていないし・・・
1 |
$this->Model->saveAll ( $this->data ['Model'] ) |
DebugKitでMySQLのエラーを見ても、エラーが見当たりません。
考えること30分、、、
もしやバリデーション?
と思って、
1 |
pr($this->Model->validationErrors); |
で確認したところ、予想的中でした。
バックアップしていたテーブルのデータを読み込み、その後にModelでバリデーションを設定ということを行っていたので、インポートした古いデータが新しく設定したバリデーションに引っかかっていました。
人気記事一覧
- MySQL 最大の値・最新の日付データを1つ抽出する方法(MAX)
- [CakePHP] XformHelperの使い方
- Linux: スワップファイル(swp)の削除方法
- HTMLのForm methodとactionについて
- PHPでカンマ区切りデータを配列に入れる方法 (explode)
- [エラー対処] failed to open stream: No such file or directory
- [CSS]ブロック要素(div)の高さを、内部のfloat要素に合わせて自動調整する
- [vsftp] FileZillaから接続できない場合の対処法
- PHP5.1→PHP5.3へバージョンアップする方法(CentOS)
- PHPでテキストを1行ずつ読み込む方法(file_get_contents,explode)
関連記事一覧
- [CakePHP2]Formのバリデーションを切る(HTML5)
- [CakePHP]Bakeでモデルを作る
- [CakePHP] XformHelperの使い方
- [CakePHP] Bakeの起動
- [CakePHP]paginatorのURLにPaginator以外のパラメタを追加する方法
- Table ‘テーブル名’ is marked as crashed and should be repaired が表示されたときの処置方法
- [CakePHP] paginateの使い方
- [CakePHP2] Bakeの起動
- [CakePHP]IN句を使ったときに指定順に表示する
- [CakePHP] paginationでGETパラメータを引き継ぐ方法