我正在从教义2.3升级到2.5,并且某些关系破裂了。
我看了一下其他堆栈溢出问题。但是这些类只有一个id注释,联接列是根据它们的db列名而不是实体上的变量名来命名的
/**
* @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上却不能。
答案 0 :(得分:0)
向* @GeneratedValue
实体添加Website
值注释。