2016-06-18 1 views
1

다음과 같은 상황이 있습니다 : 두 개의 값을 동일한 db 열에 저장해야하는 두 개의 드롭 다운 목록이 있습니다. 내 질문에 내 buildForm 메서드뿐만 아니라 html.twig에 어떻게 이것을 해결할 수 있습니까? 도움을 주신 모든 분들께 감사드립니다. 엔티티Symfony 3의 PostType Form을 사용하여 여러 개의 드롭 다운 목록을 사용하여 db의 한 열을 채우십시오.

* @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() 
    )); 
} 

: 다음은 내 코드입니다 123,414,내가하고 싶은 것은, 예를 들면이다

    <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> 

내 HTML, 내가 어떤 어떤 감사하겠습니다 시트의 값 (수량) 밖으로이 문제를 정렬 부엌 컬럼에 삽입하다 . 감사합니다

답변

0

나는 kitchen_table 및 kitchen_seat 양식을 채우기 위해 게터를 만들 것이라고 말할 것입니다. 저장하려면 어떤 형식으로 저장 하시겠습니까?

$data = $form->getData(); 
$removalPost->setKitchen($data['kitchen_table'].'_'.$data['kitchen_seat']); 

이 설정해야합니다. 하지만 양식을 설정하여 문제가 있습니다. 양식은 귀하의 필드와 일치해야합니다. 그렇지 않으면 요청을 통해 데이터를 가져와야하는 것보다 양식을 통해 데이터를 가져올 수 없습니다. ...

+1

감사합니다. 해결책을 시험해 볼 것이고 예 들판을 맞추어 라. 고마워. – prezequias