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

Я обновляюсь с доктрины 2.3 до 2.5, и некоторые отношения нарушены.

Я посмотрел другие вопросы о переполнении стека.Но есть только одна аннотация id для этих классов, и столбцы соединения именуются по именам их столбцов БД, а не по имени их переменной на сущности

/**
 * @Entity
 * @Table(name="iso_country_shipping_display")
 */
class IsoCountryShippingDisplay {
    /**
     * @Id
     * @GeneratedValue
     * @Column(name="iso_country_shipping_display_id", type="integer", nullable=false)
     */
    private $id;

    /**
     * @ManyToOne(targetEntity="namespace\Website")
     * @JoinColumn(name="website_id", referencedColumnName="base_website_id", nullable=false, unique=false)
     * @var Website
     */
    private $baseWebsite;

    /**
     * @var IsoCountry
     * @ManyToOne(targetEntity="namespace\IsoCountry")
     * @JoinColumn(name="iso_3", referencedColumnName="iso_3", nullable=false, unique=false)
     */
    private $isoCountry;

    /**
     * @return IsoCountry
     */
    public function getIsoCountry()
    {
        return $this->isoCountry;
    }
}

/**
 * @Entity
 * @Table(name="iso_country")
 */
class Website
{

    /**
     * @Id
     * @Column(name="website_id", type="integer", nullable=false)
     * @var integer
     * @GeneratedValue
     */
    protected $id;

    /**
     * @return int
     */
    public function getId()
    {
        return $this->id;
    }
}

Я получил сообщение об ошибке Missing value for primary key id on namespace\Website.Я не уверен, почему я получаю это на доктрине 2.5, но не на 2.3.

1 Ответ

0 голосов
/ 24 мая 2019

Добавление примечания * @GeneratedValue к объекту Website.

...