當我提交表單時,我的結果加倍了。找不到問題的原因。我只提交了一次表格,我只需要一條記錄,但不知何故,它已經翻了一番。Symfony2:表單提交執行2次 - 加倍結果
租用是我的控制器:
\的appbundle \控制器\ DefaultController
/**
* @Route("/test/add", name="addTest", defaults={"_locale": "sr"}, requirements={
* "_locale": "en|sr"
* })
* @Method({"GET", "POST"})
*/
public function addTestAction(Request $request)
{
$test = new Test();
$testForm = $this->createForm(new TestType(), $test);
if ($request->isMethod('POST'))
{
$testForm->submit($request->request->get($testForm->getName()));
if($testForm->isValid())
{
$testFormData = $testForm->getData();
exit(\Doctrine\Common\Util\Debug::dump($testFormData));
}
}
return $this->render(
'AppBundle:trt:addTest.html.twig', array(
'form' => $testForm->createView(),
)
);
}
租用是我的實體:
\的appbundle \實體\測試
class Test
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=64)
*/
private $name;
/**
* @var string
*
* @ORM\Column(name="region", type="string", length=64)
*/
private $region;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set name
*
* @param string $name
* @return Test
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name
*
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Set region
*
* @param string $region
* @return Test
*/
public function setRegion($region)
{
$this->region = $region;
return $this;
}
/**
* Get region
*
* @return string
*/
public function getRegion()
{
return $this->region;
}
}
租賃服務我的表單類型: \ AppBundle \ Form \ Type
class TestType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text')
->add('region', 'text')
;
}
public function getName()
{
return 'test1';
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Entity\Test',
));
}
}
和看法:的appbundle \資源\意見\ TRT \ addTest.html.twig
{% extends 'default/layout.html.twig' %}
{% block content %}
<div><label>add Test view</label></div>
{{ form_start(form) }}
{{ form_row(form.name) }}
{{ form_row(form.region) }}
<div>
<input type="submit" value="Dodaj test grad" />
</div>
{{ form_end(form) }}
{% endblock %}
提交表單後的結果是:
object(stdClass)[438]
public '__CLASS__' => string 'AppBundle\Entity\Test' (length=21)
public 'id' => null
public 'name' => string 'Moscow' (length=6)
public 'region' => string 'Moscow' (length=6)
object(stdClass)[438]
public '__CLASS__' => string 'AppBundle\Entity\Test' (length=21)
public 'id' => null
public 'name' => string 'Moscow' (length=6)
public 'region' => string 'Moscow' (length=6)
感謝您的回答,調試::轉儲是越野車。感謝幫助。 – Dulo