CakePHP 1.2 から model に saveAll メソッドが追加されました。
同一モデルへの複数データの一括保存やアソシエーションのモデルのデータの保存が saveAll でできます。

同一モデルへの複数データの保存

$data = array(
    array('name'=>'tanaka'),
    array('name'=>'suzuki'),
    array('name'=>'yamada')
);
if ($this->User->saveAll($data)===false) {
    $this->Session->setFlash('保存に失敗しました');
} else {
    $this->Session->setFlash('保存しました');
}

ただβバージョンのためか、saveAll の戻り値が成功時には NULL 失敗したときには false が返って来ます。
そのために
If ($this->User->saveAll($data)) {
とやると成功の判定が正しく行えません。

CSV を読み込んでデータをインポートするようなときにいいかもしれません。

追記
このエントリーは CakePHP 1.2.0.6311 beta で検証しています。

関連する投稿