2008年
1月 17
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 で検証しています。
関連する投稿
2 Responses to “CakePHP 1.2 の saveAll その2”
Leave a Reply
Additional comments powered by BackType
6月 4th, 2010 at 3:23 am
[...] CakePHP 1.2 の saveAll その2 | Sun Limited Mt. : http://www.syuhari.jp/blog/archives/170 [...]
7月 18th, 2010 at 6:22 pm
[...] CakePHP 1.2 の saveAll その2 | Sun Limited Mt. : http://www.syuhari.jp/blog/archives/170 [...]