I love iPhone, Android, Cocos2d-x
CakePHP 1.2 の saveAll その2
CakePHP 1.2 の saveAll その1 では同一モデルへの複数レコードを saveAll で保存しました。今回はアソシエーションのモデルのデータを saveAll で保存する方法です。
アソシエーションのモデルのデータを保存
モデル
user.php
< ?php class User extends AppModel { var $name = 'User'; var $hasMany = array('Comment'); } ?>
comment.php
< ?php class Comment extends AppModel { var $name = 'Comment'; var $belongsTo = array('User'); } ?>
コントローラ
users_controller.php
function add() { if (!empty($this->data)) { $this->cleanUpFields(); $this->User->create(); if ($this->User->saveAll($this->data)===false) { $this->Session->setFlash('保存に失敗しました); } else { $this->Session->setFlash('保存しました'); } $this->redirect(array('action'=>'index'), null, true); } }
ビュー
users/add.ctp
< ?php echo $form->create('User');?> < ?php echo $form->input('User.name');?> < ?php echo $form->input('Comment.body'); ?> < ?php echo $form->end('Submit');?>
CakePHP 1.2 の saveAll その1 の同一モデルへの複数レコードの保存よりも使い道は多いのではないかと思います。
追記
このエントリーは CakePHP 1.2.0.6311 beta で検証しています。
関連する投稿
3 comments
コメントをどうぞ
Additional comments powered by BackType
[...] CakePHP 1.2 の saveAll その2 | Sun Limited Mt. : http://www.syuhari.jp/blog/archives/170 [...]
[...] CakePHP 1.2 の saveAll その2 | Sun Limited Mt. : http://www.syuhari.jp/blog/archives/170 [...]
1tombstone…
…