當使用形式集合,形式元件ID是自動由SF2構成Symfony2中:自主的形式元素ID在形式集合
窗體/ WeekType.php
class WeekType extends AbstractType
{
public function getName()
{
return "MyBundle";
}
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('fixtures', 'collection', array(
'type' => new FixtureType(),
));
}
}
窗體/ FixtureType.php
class FixtureType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('score1', 'text');
}
}
此代碼生成以下表單元素:
<select id="MyBundle_fixtures_0_score1" />
<select id="MyBundle_fixtures_1_score1" />
0,1 ...只是當前的迭代索引。
我想更改選擇標籤的ID。例如,將主鍵值(來自模型)而不是迭代索引。
<select id="MyBundle_fixtures_151_score1" />
<select id="MyBundle_fixtures_152_score1" />
甚至:
<select id="MyBundle_fixtures_0_score1_151" />
<select id="MyBundle_fixtures_1_score1_152" />
151,152從夾具表(來自數據庫)的主鍵值。
你最後的提案仍在[討論](https://github.com/symfony/symfony/pull/1461)。 關於你的第一個建議,我不明白。我如何修改傳遞給表單的集合鍵? – ocornu