Я обновляюсь с доктрины 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.