Php 在Symfony 3中使用PostType表单使用多个下拉列表填充数据库中的一列
我有以下情况: 我有两个下拉列表,两个值都需要存储在同一个db列上。我的问题是如何在buildForm方法和html.twig上解决这个问题? 我要感谢你们所有人的帮助。 这是我的密码: 实体Php 在Symfony 3中使用PostType表单使用多个下拉列表填充数据库中的一列,php,twig,symfony-forms,symfony,Php,Twig,Symfony Forms,Symfony,我有以下情况: 我有两个下拉列表,两个值都需要存储在同一个db列上。我的问题是如何在buildForm方法和html.twig上解决这个问题? 我要感谢你们所有人的帮助。 这是我的密码: 实体 * @var string * * @ORM\Column(name="Diningroom", type="text") */ private $diningroom; /** * @var string * * @ORM\Column(name="Kitchen", type="text
* @var string
*
* @ORM\Column(name="Diningroom", type="text")
*/
private $diningroom;
/**
* @var string
*
* @ORM\Column(name="Kitchen", type="text")
*/
private $kitchen;
/**
* @var string
*
* @ORM\Column(name="Office", type="text")
*/
private $office;
/**
* @var string
*
* @ORM\Column(name="BedRoom", type="text")
*/
private $bedroom;
buildForm
->add('firstName')
->add('lastName')
->add('email')
->add('telephone')
->add('county')
->add('city')
->add('street')
->add('postcode')
->add('floor', 'entity')
->add('elevator', 'entity')
->add('diningroom')
->add('kitchen')
->add('office')
->add('bedroom')
->add('bathrooms')
->add('boxes')
->add('message')
->add('packing')
->add('personrequired')
->add('submit', SubmitType::class, array(
'label' => 'Get Quotation'
// 'class' => 'btn btn-danger pull right'
))
控制器
public function createAction(Request $request)
{
//create a new post
$removalPost = new Post();
$form = $this->createForm(PostType::class, $removalPost, [
'action' => $request->getUri()
]);
$form->handleRequest($request);
if($form->isValid()){
$em = $this->getDoctrine()->getManager();
$removalPost->setAuthor($this->getUser());
$removalPost->setDate(new \DateTime());
$em->persist($removalPost);
$em->flush();
return $this->redirect($this->generateUrl('RemovalsUK_view',
['id' => $removalPost->getId()]));
}
return $this->render('RemovalsUKBundle:Post:create.html.twig', array
('form' => $form->createView()
));
}
我的HTML
<div class="row">
<div class="col-md-6 col-sm-6 col-xs-6">
<div class="form-group">
<label>Table</label>
<select class="form-control required" name="kitchen_table" id="kitchen_table">
<option value="" selected>Quantity</option>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</div>
</div>
<div class="col-md-6 col-sm-6 col-xs-6">
<div class="form-group">
<label>Seat</label>
<select class="form-control required" name="kitchen_seat" id="kitchen_seat">
<option value="" selected>Quantity</option>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</div>
</div>
</div>
桌子
量
0
1.
2.
3.
4.
座位
量
0
1.
2.
3.
4.
例如,我想做的是将表格和座位中的值(数量)插入厨房列中
如果有任何人能解决这件事,我将不胜感激。谢谢我要说的是为厨房桌子和厨房座位创建getter来填充表单。 对于“保存”,问题是要以何种格式保存
$data = $form->getData();
$removalPost->setKitchen($data['kitchen_table'].'_'.$data['kitchen_seat']);
这一点应该是确定的。
但是设置表单也有一个问题。表单应该与您的字段相匹配,否则您无法通过表单获取数据,而必须通过请求获取数据…我会说为厨房桌子和厨房座位创建getter来填充表单。 对于“保存”,问题是要以何种格式保存
$data = $form->getData();
$removalPost->setKitchen($data['kitchen_table'].'_'.$data['kitchen_seat']);
这一点应该是确定的。
但是设置表单也有一个问题。表单应适合您的字段,否则您无法通过表单获取数据,您必须通过请求获取数据…谢谢我将尝试您的解决方案,是的,我将确保我的表单适合字段,谢谢。谢谢我将尝试您的解决方案,是的,我将确保我的表单适合字段,谢谢。