Polymorphic relationship in doctrine 2 Polymorphic relationship in doctrine 2 symfony symfony

Polymorphic relationship in doctrine 2


It does look like a use case for inheritance mapping, unless you have a ton of different entities you want to store addresses for. Using your example in Doctrine, you'd create two classes for each of your addresses.

<?phpnamespace MyProject\Model;/** * @Entity * @InheritanceType("SINGLE_TABLE") * @DiscriminatorColumn(name="type", type="string") * @DiscriminatorMap({"event" = "EventAddress", "museum" = "MuseumAddress"}) */class Address {    protected $street;    // ...}/** * @Entity */class EventAddress extends Address {    protected $event;    // ...}/** * @Entity */class MuseumAddress extends Address {    protected $museum;    // ...}

Read more about inheritance mapping.