RelationField defines "relation" type field for storing single or multiple collection record references.

Requires the CollectionId option to be set.

If MaxSelect is not set or <= 1, then the field value is expected to be a single record id.

If MaxSelect is > 1, then the field value is expected to be a slice of record ids.

The respective zero record field value is either empty string (single) or empty string slice (multiple).


The following additional setter keys are available:

  - "fieldName+" - append one or more values to the existing record one. For example:

record.Set("categories+", []string{"new1", "new2"}) // []string{"old1", "old2", "new1", "new2"}

- "+fieldName" - prepend one or more values to the existing record one. For example:

record.Set("+categories", []string{"new1", "new2"}) // []string{"new1", "new2", "old1", "old2"}

- "fieldName-" - subtract one or more values from the existing record one. For example:

record.Set("categories-", "old1") // []string{"old2"}

Hierarchy

Implemented by

Methods

  • ColumnType implements [Field.ColumnType] interface method.

    Parameters

    Returns string

  • DriverValue implements the [DriverValuer] interface.

    Parameters

    Returns any

  • GetHidden implements [Field.GetHidden] interface method.

    Returns boolean

  • GetId implements [Field.GetId] interface method.

    Returns string

  • GetName implements [Field.GetName] interface method.

    Returns string

  • GetSystem implements [Field.GetSystem] interface method.

    Returns boolean

  • IsMultiple implements [MultiValuer] interface and checks whether the current field options support multiple values.

    Returns boolean

  • PrepareValue implements [Field.PrepareValue] interface method.

    Parameters

    Returns any

  • SetHidden implements [Field.SetHidden] interface method.

    Parameters

    • hidden: boolean

    Returns void

  • SetId implements [Field.SetId] interface method.

    Parameters

    • id: string

    Returns void

  • SetName implements [Field.SetName] interface method.

    Parameters

    • name: string

    Returns void

  • SetSystem implements [Field.SetSystem] interface method.

    Parameters

    • system: boolean

    Returns void

  • Type implements [Field.Type] interface method.

    Returns string

Properties

cascadeDelete: boolean

CascadeDelete indicates whether the root model should be deleted in case of delete of all linked relations.

collectionId: string

CollectionId is the id of the related collection.

hidden: boolean

Hidden hides the field from the API response.

id: string

Id is the unique stable field identifier.

It is automatically generated from the name when adding to a collection FieldsList.

maxSelect: number

MaxSelect indicates the max number of allowed relation records that could be linked to the main model.

For multiple select the value must be > 1, otherwise fallbacks to single (default).

If MinSelect is set, MaxSelect must be at least >= MinSelect.

minSelect: number

MinSelect indicates the min number of allowed relation records that could be linked to the main model.

No min limit is applied if it is zero or negative value.

name: string

Name (required) is the unique name of the field.

presentable: boolean

Presentable hints the Dashboard UI to use the underlying field record value in the relation preview label.

required: boolean

Required will require the field value to be non-empty.

system: boolean

System prevents the renaming and removal of the field.

Generated using TypeDoc