2 回答
TA贡献1796条经验 获得超7个赞
如果字段是表单对象的一部分($form
在本例中),要检索字段的数据,您carlist
可以使用:
$carlist = $form->get('carlist');
或者,要从整个表单中获取数据,您可以使用:$data = $form->getData()
.
如果您的字段不是表单对象的一部分,您可以使用:
$carlist = $request->request->get('carlist');
这样做是从Request 对象中获取数据。
TA贡献1942条经验 获得超3个赞
你有一个表格,像这样:
<select name="carlist" form="carform" multiple>
<option value="volvo" selected>Volvo</option>
<option value="saab" selected>Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
你的控制器:
$form = $this->createForm(YourForm::class, //...);
$choices = [
'Volvo' => 'volvo',
'Saab' => 'saab',
'Opel' => 'opel',
'Audi' => 'audi',
];
$form->add('carlist', ChoiceType::class, [
'multiple' => true,
'choices' => $choices
]);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$not_used_cars = [];
$car_list = $form->get('carlist')->getData();
foreach ($choices as $car) {
if ( false === array_search( $car, $car_list ) )
$not_used_cars[] = $car;
}
/*
* dump($not_used_cars);
* //Output:
* [
* 0 => 'opel'
* 1 => 'audi'
* ]
*/
}
- 2 回答
- 0 关注
- 125 浏览
添加回答
举报