Убедитесь, что UNIQUE-строка уже существует с помощью findBy в ManyToMany, любом обходном решении или рабочем решении?

Таким образом, у меня есть отношения, определенные в моих сущностях:

class Producto { /** * @ORM\ManyToMany(targetEntity="AppBundle\Entity\Norma", inversedBy="normasProducto", cascade={"persist"}) * @ORM\JoinTable(name="nomencladores.norma_producto", schema="nomencladores", * joinColumns={@ORM\JoinColumn(name="producto_id", referencedColumnName="id")}, * inverseJoinColumns={@ORM\JoinColumn(name="norma_id", referencedColumnName="id")} * ) */ protected $productoNormas; } class Norma { /** * @ORM\ManyToMany(targetEntity="AppBundle\Entity\Producto", mappedBy="productoNormas", cascade={"persist"}) */ protected $normasProducto; } 

И я пытаюсь проверить, существует ли данная пара norma_idnorma_id чтобы не пытаться вставить ее еще раз, и я делаю следующее:

 $exists = $em->getRepository('AppBundle:Producto')->findOneByProductoNormas($productoId); if ($exists) { $status = 400; } else { try { $producto->addProductoNormas($normaEntity); $em->flush(); $response['success'] = true; } catch (Exception $ex) { $status = 400; $response['error'] = $ex->getMessage(); } } 

Но я получаю эту ошибку:

Примечание. Неопределенный индекс: joinColumns в строке /var/www/html/project.dev/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php 1665

Проводя исследование в Google и здесь, на SO, я обнаружил, что это может быть ошибкой здесь или, возможно, нет, и мы (я и другие, которые сообщают об этой проблеме) делают что-то неправильно. Я не могу найти, где проблема или проблема, поэтому любой совет или помощь будут хороши для меня и для других. Единственная идея, которую я имею в виду, это создать представление в СУРБД, а затем создать объект для его чтения и проверить, существует ли запись, у меня нет ничего, кроме этого, каких-либо идей? Помогите? Рабочий пример кода?

Related of "Убедитесь, что UNIQUE-строка уже существует с помощью findBy в ManyToMany, любом обходном решении или рабочем решении?"