TYPO3 Extbase m:m在TCA内的关系

时间:2017-06-21 10:00:54

标签: typo3 extbase

我目前在简单的自定义TYPO3扩展程序中遇到m:m关系。

有多个过滤器和过滤器可以关联的十几个类别。该关系由过滤器中选择的类别组成:

Filter-Category-Relation

现在,大约有150个过滤器,所有类别在将产品分配给产品时显示所有过滤器,但只应显示与该分类关联的过滤器

Filters

我找不到任何关于此的文档,我目前的TCA设置如下:

'filter_bauwerkszustand' => array(
        'exclude' => 0,
        'label' => 'Bauwerkszustand',
        'config' => array(
            'type' => 'select',
            'renderType' => 'selectMultipleSideBySide',
            'foreign_table' => 'tx_produkte_domain_model_filter',
            'foreign_table_where' => ' AND tx_produkte_domain_model_filter.filterkategorie = 1 AND tx_produkte_domain_model_filter.sys_language_uid=###REC_FIELD_sys_language_uid### ORDER BY tx_produkte_domain_model_filter.titel ASC',
            'MM' => 'tx_produkte_filter_filterkategorie_mm',
            'size' => 10,
            'autoSizeMax' => 10,
            'maxitems' => 9999,
            'multiple' => 0,
        ),
    ),

1 个答案:

答案 0 :(得分:0)

如果它的MM关系解决问题:过滤器中的关系列不会实际保持类别,只是关系的数量。实际关系反映在MM表中。后端将SELECT语句中的类别与JOIN s合并,首先是MM表,然后是实际类别,如下所示:

tx_produkte_domain_model_filter.uid =
tx_produkte_filter_filterkategorie_mm.uid_local

tx_produkte_filter_filterkategorie_mm.uid_foreign =
tx_produkte_domain_model_filterkategorie.uid

尝试使用tx_produkte_domain_model_filter.filterkategorie = 1

重新查询查询中的tx_produkte_filter_filterkategorie_mm.uid_foreign = 1部分
相关问题