MM

MM
Type:string (table name)
Scope:Proc.

This value contains the name of the table in which to store an MM relation. It is used together with foreign_table. The database field with a MM property only stores the number of records in the relation.

There is additional information in the MM common property description.

Warning

Copying with MM relations will not create a copy of the value. Thus copying the record Org with Org->orgA and Org->orgB as New results in New->orgA and New->orgB instead of New->newA and New->newB. Deleting the relation New->orgA will result in a broken relation Org->orgA.

MM_hasUidField
Type:boolean
Scope:Proc.

If the “multiple” feature is used with MM relations you must set this value to true. Otherwise sorting and removing relations will be buggy.

MM_opposite_field
Type:string (field name)
Scope:Proc.

If you want to make a MM relation editable from the foreign side (bidirectional) of the relation as well, you need to set MM_opposite_field on the foreign side to the field name on the local side.

For example if the field “companies.employees” is your local side and you want to make the same relation editable from the foreign side of the relation in a field called persons.employers, you would need to set the MM_opposite_field value of the TCA configuration of the persons.employers field to the string “employees”.

Note

Bidirectional references only get registered once on the native side in sys_refindex.

Examples

Inline field with MM table configured

An inline field with MM relation
'columns' => [
    'inline_1' => [
        'exclude' => 1,
        'label' => 'inline_1',
        'config' => [
            'type' => 'inline',
            'foreign_table' => 'tx_styleguide_inline_mm_child',
            'MM' => 'tx_styleguide_inline_mm_child_rel',
            'MM_hasUidField' => true,
            'appearance' => [
                'showSynchronizationLink' => 1,
                'showAllLocalizationLink' => 1,
                'showPossibleLocalizationRecords' => 1,
            ],
        ],
    ],
]

Opposite field to display MM relations two ways

An inline field with MM relation
'columns' => [
    'parents' => [
        'exclude' => 1,
        'label' => 'parents',
        'config' => [
            'type' => 'inline',
            'foreign_table' => 'tx_styleguide_inline_mm',
            'MM' => 'tx_styleguide_inline_mm_child_rel',
            'MM_hasUidField' => true,
            'MM_opposite_field' => 'inline_1',
            'maxitems' => 10,
            'appearance' => [
                'showSynchronizationLink' => 1,
                'showAllLocalizationLink' => 1,
                'showPossibleLocalizationRecords' => 1,
            ],
        ],
    ],
]