Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Symfony 3中使用PostType表单使用多个下拉列表填充数据库中的一列_Php_Twig_Symfony Forms_Symfony - Fatal编程技术网

Php 在Symfony 3中使用PostType表单使用多个下拉列表填充数据库中的一列

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

我有以下情况: 我有两个下拉列表,两个值都需要存储在同一个db列上。我的问题是如何在buildForm方法和html.twig上解决这个问题? 我要感谢你们所有人的帮助。 这是我的密码:

实体

 * @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']);
这一点应该是确定的。
但是设置表单也有一个问题。表单应适合您的字段,否则您无法通过表单获取数据,您必须通过请求获取数据…

谢谢我将尝试您的解决方案,是的,我将确保我的表单适合字段,谢谢。谢谢我将尝试您的解决方案,是的,我将确保我的表单适合字段,谢谢。