我目前在简单的自定义TYPO3扩展程序中遇到m:m关系。
有多个过滤器和过滤器可以关联的十几个类别。该关系由过滤器中选择的类别组成:
现在,大约有150个过滤器,所有类别在将产品分配给产品时显示所有过滤器,但只应显示与该分类关联的过滤器。
我找不到任何关于此的文档,我目前的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,
),
),
答案 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
部分