1
我想使用Symfony 2窗體來輕鬆地在我的控制器中使用Doctrine findBy API。symfony 2窗體:我想使用自定義字段名稱屬性或操作子窗體
其實,我想在我的控制器來寫這個代碼:
$repository->findBy(
$request->get('filters'),
$request->get('orderBy'),
$request->get('limit'),
$request->get('offset')
);
對於這一點,我的網址應該是這樣的!
- /會話?過濾器[用戶] = 4
- /會話?過濾器[用戶] = 4個&濾波器[年] = 2014 & ORDERBY =日期&限制= 10
要能夠把這個功能給我的用戶,一個解決方案,我喜歡使用形式:
解決方法n°1
$this->createFormBuilder()
->add('filters', 'array')
->add('user', 'integer')
->add('year', 'integer')
->add('orderBy')
->add('limit')
->add('offset')
;
但是這個解決方案或等價物不存在。 (類型數組不存在)
解決方法n°2
$this->createFormBuilder()
->add('filters[user]', 'integer')
->add('filters[year]', 'integer')
->add('orderBy')
->add('limit')
->add('offset')
;
'[' 和 ']' 的使用字符不準,併產生誤差。
另一個解決方法是使用自定義字段的名稱,實際上是第一個解決方案(不unexistant式「陣列」)將產生此HTML:
<input type="text" id="form_filters" name="form[filters]" required="required" class="form-control">
,不會服的URL要求。有人知道如何使用自定義名稱屬性嗎? 它也可以工作如果我有機會將屬性名稱更改爲窗體[filters] [something]或甚至更好filters [something]。