1
可以通過GET請求填充如下所示的實體類型設置嗎?GET的Symfony2.7實體類型人口
目前當查詢字符串包含正確的密鑰對實體類型將不填充(?類= 232,查詢字符串的形式提交的結果 - 這樣的配對是正確的),但是如果我的設置該類型使用它填充的選擇類型罰款 - 我想保持這種實體類型。
->add('category', 'entity', array(
'required' => false,
'class' => 'AppBundle:FormElementOption',
'choices' => $this->form_repository->getOptionsForSelectEntities($this->directory->getProject()->getId()),
'choices_as_values' => true,
'choice_label'=>'label',
'choice_value'=>'id',
'group_by' => function ($currentObject) {
return $currentObject->getFormElement()->getLabel();
},
))
呈現的表單元素是:
<select id="category" name="category" class="form-control">
<option value=""></option>
<optgroup label="Car Brand">
<option value="221">6 Door</option>
<option value="222">Toyota</option>
<option value="223">Jaguar</option>
<option value="224">Skodai</option>
</optgroup>
<optgroup label="Car Doors Count">
<option value="226">6 Door</option>
<option value="227">Green</option>
</optgroup>
<optgroup label="Car Doors">
<option value="228">1 Door</option>
<option value="229">2 Door</option>
<option value="230">3 Door</option>
<option value="231">4 Door</option>
<option value="232">6 Door</option>
</optgroup>
</select>
我從形式:: getName返回null,這是與createNamed(null,..)相同的行爲,導致HTML中的元素之前沒有名稱?所以,而不是形式名[類別],輸出只是類別 – mr12086
我認爲它可能應該,但我不會推薦它,因爲它甚至沒有記錄在'FormTypeInterface'。使用createNamed來保證安全。另外,確保'handleRequest($ request)'真的用'isSubmitted'提交表單;如果沒有,請檢查'_method'選項。 – giosh94mhz
這兩種方式似乎都沒有糾正。另外,我不認爲提交表單時會出現問題,因爲表單的其餘部分工作正常,並且使用從數組構建的選擇字段工作,只是在使用實體類型時 - 我只能假設自GET沒有包含實體並僅包含它的標識。數據轉換器需要使用。但自從新的'choice_label/value'介紹,我認爲它可以使用ID填充字段?附:也是的,這是一個過濾器形式 – mr12086