我正在使用表格来编辑一些数据。表单字段之一:
$builder ->add('cities', 'entity', array(
'class' => 'Vendor\SomeBundle\Entity\City',
'multiple' => true
));
一切正常-根据数据库,我有一些预先选择的城市。
现在我想将选择限制在特定国家的城市。因此,我收集了城市并设置了“选择”选项:
$builder ->add('cities', 'entity', array(
'class' => 'Vendor\SomeBundle\Entity\City',
'multiple' => true,
'choices' => $citiesCollection
));
选择列表有限,但未选择任何城市。
我尝试使用“数据”选项设置此预选城市,但这也不起作用
$builder ->add('cities', 'entity', array(
'class' => 'Vendor\SomeBundle\Entity\City',
'multiple' => true,
'choices' => $citiesCollection
'data' => $citiesSelected
));
尝试不同的方法,传递ArrayCollection,数组,键数组,但没有任何效果……甚至可能吗?
可行的解决方案-设置“ query_builder”选项,而不是“选择”
$builder ->add('cities', 'entity', array(
'class' => 'Vendor\SomeBundle\Entity\City',
'multiple' => true,
'query_builder' => $citiesQueryBuilder
));
现在呈现的表单已选择城市
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句