[Отсутствует значение для первичного ключа] - PullRequest
0 голосов
/ 26 июня 2019

У меня есть две сущности со множеством отношений: Egwprestation <- EgwAddressbook </p>

Когда я манипулирую сущностями (хранилищем), у меня появляется это сообщение:

Uncaught PHP Exception Doctrine \ Common \ Proxy \ Exception \ OutOfBoundsException: "Отсутствует значение для адресной книги первичного ключа в Lea \ PrestaBundle \ Entity \ EgwAddressbook" в / htdocs / vendor / doctrine / common / lib / Doctrine / Common /Proxy/Exception/OutOfBoundsException.php строка 40

Вот моя сущность egwAddressbook:


<?php

namespace Lea\PrestaBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;

use Doctrine\ORM\Mapping as ORM;

/**
 * Lea\PrestaBundle\Entity\EgwAddressbook
 *
 * @ORM\Table(name="egw_addressbook")
 * @ORM\Entity(repositoryClass="Lea\PrestaBundle\Entity\EgwAddressbookRepository")
 */
class EgwAddressbook
{
    /**
     * @var integer $addressbookId
     *
     * @ORM\Column(name="addressbook_id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $addressbookId;

    /**
     * @var string $contactId
     *
     * @ORM\Column(name="contact_id", type="integer", nullable=true)
     */
    private $contactId;

Вот мой объект EgwPrestation:

/**
 * @ORM\ManyToOne(targetEntity="EgwAddressbook", inversedBy="prestationsP")
 * @ORM\JoinColumn(name="id_contact_prescripteur", referencedColumnName="contact_id")
 */
    private $contactPr;

ТАК, это простое отношение ManytoOne между двумя сущностями.

Поиск много дней ...

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

1 Ответ

0 голосов
/ 27 июня 2019

Ваше отображение неверно, вы не можете ссылаться на contact_id EgwAddressbook, так как это не первичный ключ.Я не совсем уверен, что вам нужно с точки зрения отображения, но если вы хотите, чтобы Многие EgwPrestations имели одну EgwAddressbook , попробуйте вместо этого:

/**
 * @ManyToOne(targetEntity="EgwAddressbook")
 * @JoinColumn(name="id_contact_prescripteur", referencedColumnName="addressbook_id")
 */
private $contactPr`

Документация Doctrine очень полезно и может помочь вам определить, какое отображение соответствует вашим потребностям.

...