相关联的储蓄模型具、belongsTo hasMany非常简单:你只是填充相关联的外键字段ID的模型。一旦完成,你只需要调用save()方法在模型中,连接起来的,一切都是正确的。的一个示例所需的格式数据数组传递给保存()标记模型如下所示:
Array
(
[Recipe] => Array
(
[id] => 42
)
[Tag] => Array
(
[name] => Italian
)
)
您还可以使用这种格式保存一些记录和他们HABTM联想saveAll(),使用一个数组如下:
Array
(
[0] => Array
(
[Recipe] => Array
(
[id] => 42
)
[Tag] => Array
(
[name] => Italian
)
)
[1] => Array
(
[Recipe] => Array
(
[id] => 43
)
[Tag] => Array
(
[name] => Pasta
)
)
[2] => Array
(
[Recipe] => Array
(
[id] => 51
)
[Tag] => Array
(
[name] => Mexican
)
)
[3] => Array
(
[Recipe] => Array
(
[id] => 17
)
[Tag] => Array
(
[name] => American (new)
)
)
)
上面的数组传递给saveAll()将创建包含标签,每个与各自相关的菜谱。
作为一个例子,我们将构建一个表单,创建一个新的标签,生成适当的数据动态数组来将它与一些配方。
最简单形式看起来像这样(我们假设recipe_id美元已经将一些):
<?php echo $this->Form->create('Tag'); ?>
<?php echo $this->Form->input(
'Recipe.id',
array('type' => 'hidden', 'value' => $recipe_id)
); ?>
<?php echo $this->Form->input('Tag.name'); ?>
<?php echo $this->Form->end('Add Tag'); ?>