有没有一种方法能在Doctrine中实现Laravel的多态关系?
以下是一个示例:
class Address
{
protected $street;
...
public function setStreet()
{
}
public function getStreet()
{
}
}
class Event
{
/*one to many*/
protected $addresses;
...
}
class Museum
{
/*one to many*/
protected $addresses;
...
}
在数据库中,它会是这样的:
Address:
id | type (event or museum) | type_id | street ...
Event:
id | name ...
Museum:
id | name ...
我看了一下单表继承,它似乎可以解决我的问题,但我不知道如何将事件或博物馆与地址相关联。如果有人能 ELI5(用通俗易懂的语言解释),我将不胜感激。
@ORM\ManyToOne(targetEntity="Event", inversedBy="addresses")protected $event;
? - Diego Castromuseum_id
字段,而一个MuseumAddress将会有一个空的event_id
字段。 - Peter@ORM\OneToMany(targetEntity="MuseumAddress", inversedBy="museum")
。 - Peter