Typo3 DatabaseQueryProcessor 一对多关系

Typo3 DatabaseQueryProcessor one-to-many relation

我想在 DatabaseQueryProcessor 中加入一个具有一对多关系的 table。 table1.images 包含来自 table2 的图像 uid 的逗号分隔列表。例如1,2,3。在此示例中,我希望得到所有 3 张图像。

我试过了:

dataProcessing {
    10 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
    10 {
        table = table1
        join = table2 on table1.images in (table2.uid)

        as = someValue
    }
}

但这只给我第一张图片“1”,而不是其他两张图片。

如何在DatabaseQueryProcessor中体现一对多关系?

我想通了:

join = table2 ON table1.images like concat('%', table2.uid , '%')

join = table2 ON find_in_set(table2.uid, table1.images) 有效

您正在尝试检查列表和单个值之间的相等性(“=”)。我想知道您是否得到了有效结果而不是 exception/error...

查看列表的 SQL 函数:

IN():

join = table2 on table2.uid IN(table1.images)