Быстрый вопрос о сохранении данных в Symfony 2. У меня есть этот метод (только для тестирования):
protected function createProduct()
{
$product = new Product();
$product->setName('My product');
$product->setDescription('Lorem ipsum dolor sit amet');
$product->setIsPublished(1);
$product->setPosition(1);
$em = $this->getDoctrine()->getEntityManager();
$em->persist($product);
$em->flush();
}
Затем у меня есть действие (только для тестирования также):
public function indexAction()
{
$this->createCategory();
...
render ...
}
Моя проблема в том, что когда я выполняю действие index, продукт дважды сохраняется в моей базе данных.У кого-нибудь были подобные проблемы?Любой способ решить эту проблему?
Обновление: - полный тестовый класс контроллера:
namespace Test\CategoryBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Test\CategoryBundle\Entity\Category;
use Symfony\Component\HttpFoundation\Response;
class CategoryController extends Controller
{
public function createAction()
{
$c = new Category();
$c->setName('Category');
$c->setDescription('Lorem ipsum dolor sit amet');
$c->setIsPublished(1);
$c->setPosition(1);
$em = $this->getDoctrine()->getEntityManager();
$em->persist($c);
$em->flush();
return new Response('Created category id '.$c->getId());
}
}
Маршрутизация в src / Test / CategoryBundle / Resources / config / routing.yml:
TestCategoryBundle_create:
pattern: /category/create
defaults: { _controller: TestCategoryBundle:Category:create }
Маршрутизация в app / config / routing.yml:
TestCategoryBundle:
resource: "@TestCategoryBundle/Resources/config/routing.yml"
prefix: /