Symfony 2: отсутствует назначенный идентификатор с отношением ManyToMany - PullRequest
0 голосов
/ 28 февраля 2012

У меня есть 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');
}

Знаете ли вы, как это исправить?

Спасибо за вашу помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...