Overview
This field represents tree-structured set of entities related to this model. This is an extention of "hasMany" field.
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
<tree name="directories" model="directory" joinField="fileSystem" />
Model directory must have at least these five fields (name of the field fileSystem must match tree's joinField):
<belongsTo name="fileSystem" model="fileSystem" required="true" /> <hasMany name="children" model="directory" joinField="parent" cascade="delete" copyable="true" /> <belongsTo name="parent" model="directory" /> <priority name="priority" scope="parent" /> <string name="nodeNumber" />