2008年

CakePHP 1.2 の saveAll その2 このエントリーを含むはてなブックマーク

CakePHP Add comments

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”

  1. pc.casey.jp ? CakePHPで親子テーブルを扱う Says:

    [...] CakePHP 1.2 の saveAll その2 | Sun Limited Mt. : http://www.syuhari.jp/blog/archives/170 [...]

  2. CakePHPで親子テーブルを扱う | cakephp.casey.jp Says:

    [...] CakePHP 1.2 の saveAll その2 | Sun Limited Mt. : http://www.syuhari.jp/blog/archives/170 [...]

Leave a Reply

Additional comments powered by BackType

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン