Php 如何使用函数isClicked()填充数据库?

Php 如何使用函数isClicked()填充数据库?,php,symfony,symfony-forms,Php,Symfony,Symfony Forms,我想通过单击表单中创建的按钮来填充数据库(需要帮助)方法isClicked返回一个布尔值,如中所述,因此您可以简单地进行检查(在代码中,您编写了一个错误的if语句:=而不是==) 因此,请尝试以下代码: public function addAction(){ $em = $this -> getDoctrine() -> getEntityManager(); $a = new Button; $form = $this -> createForm(new Bu

我想通过单击表单中创建的按钮来填充数据库(需要帮助)

方法isClicked返回一个布尔值,如中所述,因此您可以简单地进行检查(在代码中,您编写了一个错误的if语句:=而不是==)

因此,请尝试以下代码:

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

希望对您有所帮助

谢谢!但是我仍然有一个问题,当我刷新页面值时仍然为true,因此数据库自动填充yyes,如果你刷新并确认页面的提交正常,如果你不希望这种行为,我建议你重定向到另一个页面,如果提交正确。
$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();
  }