2012-04-18 53 views
1

我想了解如何與CakePHPsaveAssociated方法創建嵌套數據沒有成功,我已經寫了一個模型結構,其中一個Character>hasMany>PropertyGroupPropertyGroup>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來做到這一點。

回答

0

一個關係後,你必須給其他屬性組的別名,並將其綁定到模型...

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

然後你引用它們作爲的PropertyGroup和PropertyGroup2。

如果您在很多情況下需要多個屬性組,只需綁定hasMany數組中的PropertyGroup2,並確保將classMame設置爲引用PropertyGroup類。