2015-05-05 3 views
0
public function addAction(){ 

    $em = $this -> getDoctrine() -> getEntityManager(); 
    $a = new Button; 
    $form = $this -> createForm(new ButtonType()); 

    $request = $this->get('request'); 
    $value=0; 
    if($request->getMethod() == 'POST'){ 
    $form->handleRequest($request); 
    $value = $form->get('addButton')->isClicked(); 
    echo $value; 
    if($value =1){ 
     $a ->setTextBox(1) 
    ->setPlainText(1) 
    ->setCheckBox(1) 
    ->setRadio(1) 
    ->setButton(1); 
     $em ->persist($a); 
     $em ->flush(); 
    } 
    }  

    return $this->render('PagePageBundle:Default:add.html.twig', array('form' => $form -> createView(),)); 
} 

Я хочу, чтобы заполнить базу данных, нажав на кнопку, созданной в форме (нужна помощь)Как я могу использовать функцию isClicked() для заполнения базы данных?

ответ

-1

метод isClicked возвращают логическое значение, как описано в doc, так что вы можете просто проверить это (в коде вы пишете неправильно, если заявление: = вместо ==)

Так попробуйте этот код:

$value = $form->get('addButton')->isClicked(); 
    var_dump($value); 
    if($value){ 
     $a ->setTextBox(1) 
      ->setPlainText(1) 
      ->setCheckBox(1) 
      ->setRadio(1) 
      ->setButton(1); 
     $em ->persist($a); 
     $em ->flush(); 
    } 

надежду, что эта помощь

+0

спасибо! Но у меня все еще есть одна проблема, когда я обновляю значение страницы по-прежнему, так что база данных заполняется автоматически –

+0

да, если вы обновите и подтвердите отправку страницы, как правило, если вы не хотите этого поведения, я предлагаю вам перенаправить на другой если сообщение отправлено правильно. – Matteo

Смежные вопросы