2

3つのテーブルがあり、1つの配列をデータベースに挿入します。その1つのテレビ番組、多くの季節があります。そして、季節には多くのエピソードがあります。これが私のテーブルです:

ショー

id
title
created
modified

季節

id
shows_id
created
modified

エピソード

id
seasons_id
title
created
modified

モデルファイル:

Show.php

<?php
class Show extends AppModel {
    public $name = 'Show';
    public $hasMany = 'Season';
}

Season.php

<?php
class Season extends AppModel {
    public $name        = 'Season';
    public $belongsTo   = 'Show';
    public $hasMany     = 'Episode';
}

Episode.php

<?php
class Episode extends AppModel {
    public $name = 'Episode';
    public $belongsTo = 'Season';
}

私はこのアレイでそれを試しました:

$this->Show->create();

$sql_show = array(
    'Show' => array(
        'id'        => 2,
        'title'     => 'Super Mega Show',
    ),
    'Season' => array(
        array(
            'id'        => 1,
            'shows_id'  => 2,
            'Episode'   => array(
                array(
                    'id'    => 1,
                    'title' => 'Episode Title 1'
                ),
                array(
                    'id'    => 2,
                    'title' => 'Episode Title 2 '
                ),
                array(
                    'id'    => 3,
                    'title' => 'Episode Title 3'
                ),
            )
        ),
    )
);


$this->Show->saveAll($sql_show);

この配列を挿入するにはどうすればよいですか?

あいさつ

4

1 に答える 1

2

次のコードを試して、関連する複数のデータを保存できます。

 $this->Show->save($sql_show, array('deep' => true));

saveAssociated()メソッドを使用して試すこともできます。

それがうまくいかなかったかどうか尋ねてください。

于 2012-08-07T11:52:29.317 に答える