1

我试图了解如何使用CakePHPsaveAssociated方法创建嵌套数据但没有成功,我编写了一个模型结构,其中 a Character> hasMany>PropertyGroup和 a PropertyGroup> hasMany> Property

如何在添加视图中创建 PropertyGroup 与其属性之间的关系?

// Character Model
echo $this->Form->input('name', array ('label' => false, 'value' => 'Character name'));
echo $this->Form->input('description', array ('type' => 'textarea', 'label' => false, 'value' => 'Character description'));
// PropertyGroup Model
echo $this->Form->input('PropertyGroup.0.name', array ('label' => false, 'value' => 'Group name'));
echo $this->Form->input('Property.0.name', array ('label' => false, 'value' => 'Property name'));
echo $this->Form->input('Property.0.value', array ('label' => false, 'value' => 'Property value'));

echo $this->Form->end('Add character');

如果我想创建多个,我的问题就开始了PropertyGroups,所以:

PropertyGroup.0.name
    Property.0.name
    Property.0.value
    Property.1.name
    Property.1.value

PropertyGroup.1.name
    Property.0.name
    Property.0.value
    Property.1.name
    Property.1.value

如何将表单设置为兼容多个PropertyGroups

我可以通过 javascript 来喜欢通过 jQuery 克隆我需要的输入并增加 id,但我不确定如何使用Properties.

4

1 回答 1

0

在一个关系之后,您必须给其他属性组一个别名并将它们绑定到模型......

$this->Character->bindModel('PropertyGroup2', array('className' => 'PropertyGroup'));

然后将它们引用为 PropertyGroup 和 PropertyGroup2。

如果您在许多情况下需要多个属性组,只需将 PropertyGroup2 绑定到您的 hasMany 数组中,并确保将 classMame 设置为引用 PropertyGroup 类。

于 2012-04-19T21:30:32.947 回答