Когда я отправляю форму, у меня есть удвоенные результаты. Невозможно найти причину проблемы. Я подал форму только один раз, и мне нужна только одна запись, но почему-то она удваивается.Symfony2: form submit выполняет 2 раза - удвоенные результаты
Hire мой контроллер:
\ AppBundle \ Controller \ контроллера по умолчанию
/**
* @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(),
)
);
}
Hire моя сущность:
\ AppBundle \ Entity \ Test
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 \ Resources \ вид \ 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)
Спасибо за ответ, Debug :: dump был глючит. Спасибо за помощь. – Dulo