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ですか?

jQueryを介して必要な入力を複製し、IDをインクリメントするようにJavaScriptを介して行うことができますが、Properties.

4

1 に答える 1

0

1 つのリレーションの後、他のプロパティ グループにエイリアスを与え、それらをモデルにバインドする必要があります...

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

次に、それらを PropertyGroup および PropertyGroup2 として参照します。

多くの状況で複数のプロパティ グループが必要な場合は、PropertyGroup2 を hasMany 配列にバインドし、PropertyGroup クラスを参照するように classMame を設定してください。

于 2012-04-19T21:30:32.947 に答える