You are browsing a version that is no longer maintained. |
Embedded Mapping
This chapter explains how embedded documents are mapped in Doctrine.
Mixing Document Types
If you want to store different types of embedded documents in the same field,
you can simply omit the targetDocument
option:
Now the $tasks
property can store any type of document! The class name will
be automatically stored in a field named _doctrine_class_name
within
the embedded document. The field name can be customized with the
discriminatorField
option:
You can also specify a discriminator map to avoid storing the fully qualified class name in each embedded document:
If you have embedded documents without a discriminator value that need to be treated correctly you can optionally specify a default value for the discriminator:
Cascading Operations
All operations on embedded documents are automatically cascaded. This is because embedded documents are part of their parent document and cannot exist without those by nature.