ManyToMany Field
Overview
This field represents set of entities in (bi-directional) relation "many-to-many" to this model.
If you want to get related entities use Entity.getManyToManyField(String fieldName)
Common Attributes
name | type | required | default value | description |
---|---|---|---|---|
name | string | yes | none | Name  of the field, must be unique in this model scope. |
readonly | boolean | no | false | If true this field cannot be change by user. |
required | boolean | no | false | If true this field will be required (validator and "not-null" database's contraint will be added). |
copyable | boolean | no | true (except hasMany, manyToMany and tree fields) | If true value of this field will be copied during entity copy. Should be set to false for unique (see above) fields (except string and text). |
persistent | boolean | no | true | If true this field will be stored in database. |
Attributes
name | type | required | default value | description |
---|---|---|---|---|
model | string | yes | none | Name of corresponding model related to this field. |
joinField | string | yes | none | name of field from corresponding model that will be used as join field. Type of this field must be "belongsTo". |
plugin | string | no | none | Name of plugin where the corresponding model belongs. |
cascade | nullify/delete | no | none | Desribes behaviour when the entity is deleted: 'delete' means that all entities related through this field will be also deleted, 'nullify' means that field value will be set to null. |
copyable | boolean | no | false | When this option is set tu 'true', all entities related to defined entity by this field will be copied when main entity is copied, so new entity creaded by copy operation will be related to copied entities instead of oryginal ones. |
Example
<manyToMany name="items" model="orderItem" joinField="orders" />
Model orderItem also should have this field (field's name must match manyToMany's joinField):
<manyToMany name="orders" model="order" joinField="items" />