saveAll()を使う時の注意
saveAll()を使うと複数のデータを一括で保存できます。
大変便利ですが、
セットするデータの形式に、注意が必要です。
CookBook記述
saveAll(array $data = null, array $options = array())
次のいずれかの目的で使用します。 (a) 単一のモデルに、個別のレコードを複数記録する。 (b) あるレコードと同様に、関連したレコードも全て記録する。
http://book.cakephp.org/ja/view/1031/Saving-Your-Data
基本は以上の通りですが・・・
単一のモデルに、個別のレコードを複数記録する場合
例えば、Userに複数のuser情報を一回で登録したい場合
1.第一引数は $data['User']
save()では$dataで渡すので、ここ間違えやすい。
2.$data['User']以下に、整数以外のINDEXがあってはいけない
CRSF対策などでTokenが入っている場合に注意。
関連するModelのデータもまとめて登録する場合
1.第一引数は $data
上記、単一のモデルのみの場合と違うので注意。
さらに、このルールがあるので、親になるモデル(この場合User)を同時に複数登録することはできません。
2.関連するModelのデータに整数以外のINDEXがあってはいけない
これはほぼ同上。