anthomaxcool
anthomaxcool

Reputation: 359

Typo3 - How to add dynamic value in TCA MM table

I'm trying to add a column to the relation table (MM table) in Typo3. Let's say I have my tables user, wanted_car and wanted_car_mm which is my relation table. So in wanted_car_mm I'll know what user want which car, but I want to add the column need_faster in wanted_car_mm, which is a boolean, that tells me who should have it faster. A lot of users could need it faster, there's no order.

How do I add this column, map the value and correctly retrieve this information when I get all my users?

I currently have this in my TCA config for user:

'wanted_cars' => array(
    'exclude' => 1,
    'label' => 'LLL:EXT:caa_my_plugin/Resources/Private/Language/locallang_db.xlf:my_title',
    'l10n_mode' => 'exclude',
    'config' => array(
        'type' => 'select',
        'foreign_table' => 'wanted_car',
        'MM' => 'wanted_car_mm',
        'MM_insert_fields' => array('need_faster' => '???'),
        'MM_table_where' => ' AND wanted_car_mm.need_faster = ???',
        'maxitems' => 9999,
        'multiple' => 0,
        'renderType' => 'selectCheckBox',
    ),
),

I feel like this is how I should add the column and retrieve it correctly, but I have no clue how to map the correct value.. that I should also put in my where clause.. I don't know how this can be possible going like this, but I can't find any other way of doing it.

The value must be specified when creating a user.

Upvotes: 0

Views: 491

Answers (1)

Georg Ringer
Georg Ringer

Reputation: 7939

You need an intermediate table for that. The full docs for that can be found on https://docs.typo3.org/m/typo3/reference-tca/master/en-us/ColumnsConfig/Type/Inline.html

a screenshot and old example which still should work can also be found on https://wiki.typo3.org/Inline_Relational_Record_Editing_Attributes

Upvotes: 1

Related Questions