У меня есть 2 сущности, и третья, которая является связующим звеном между двумя классами: я назвал 3d-класс "order_product": я добавил @ORM\Id
в этот класс, чтобы позволить Symfony иметь дело с идентификаторомключ.Но у меня есть эта ошибка:
У объекта типа Sdz \ BlogBundle \ Entity \ Order_Product отсутствует назначенный идентификатор.Стратегия генерации идентификатора для этого объекта требует, чтобы поле ID было заполнено до вызова EntityManager # persist ().Если вы хотите автоматически генерируемые идентификаторы вместо , вам нужно настроить отображение метаданных соответственно .500 Внутренняя ошибка сервера - ORMException
Когда база данных пуста, при первом вызове URL-адреса все работает нормально, но во второй раз появляется эта ошибка.
/**
* @ORM\Entity
*/
class Order_Product
{
/**
* @ORM\Id
* @ORM\ManyToOne(targetEntity="Sdz\BlogBundle\Entity\Order")
*/
private $order;
/**
* @ORM\Id
* @ORM\ManyToOne(targetEntity="Sdz\BlogBundle\Entity\Product")
*/
private $product;
и метод в контроллере:
public function addOrderProductAction()
{
$em = $this->getDoctrine()->getEntityManager();
$products = $em->getRepository('SdzBlogBundle:Product')->findAll();
$ord = new Order;
$i = 0;
foreach($products as $product){
$pp[$i] = new Order_Product;
$op[$i]->setOrder = $ord;
$op[$i]->setProduct = $product;
$em->persist($op[$i]);
$i++;
}
$em->persist($ord);
$em->flush();
return new Response('OK');
}
Знаете ли вы, как это исправить?
Спасибо за вашу помощь