Таким образом, у меня есть отношения, определенные в моих сущностях:
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_id
– norma_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, я обнаружил, что это может быть ошибкой здесь или, возможно, нет, и мы (я и другие, которые сообщают об этой проблеме) делают что-то неправильно. Я не могу найти, где проблема или проблема, поэтому любой совет или помощь будут хороши для меня и для других. Единственная идея, которую я имею в виду, это создать представление в СУРБД, а затем создать объект для его чтения и проверить, существует ли запись, у меня нет ничего, кроме этого, каких-либо идей? Помогите? Рабочий пример кода?