我有三个表,我会向数据库中插入一个数组。它是一个电视节目,有很多季。四季有很多集。这是我的桌子:
显示
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';
}
Episop.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);
如何插入此数组?
问候
您可以尝试以下代码来保存多个关联数据:
$this->Show->save($sql_show, array('deep' => true));
您也可以使用saveAssociated()方法进行尝试。
如果它对你不起作用,请询问。