Project

General

Profile

Actions

Feature #103179

open

DatabaseQueryProcessor: Resolve mm-relations without uidInList / pidInList

Added by Christoph Lehmann about 2 months ago. Updated about 2 months ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2024-02-22
Due date:
% Done:

0%

Estimated time:
PHP Version:
Tags:
Complexity:
Sprint Focus:

Description

The DatabaseQueryProcessor should be able to resolve MM relations without uidInList/pidInList restrictions.

Currently this works to fetch MM relations.

        dataProcessing {
            10 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
            10 {
                pidInList = 1
                recursive = 99
                table = tt_address
                selectFields = tt_address.*
                join = tt_content_tt_address_mm ON tt_content_tt_address_mm.uid_foreign = tt_address.uid
                where.data = field:_LOCALIZED_UID // field:uid
                where.intval = 1
                where.wrap = tt_content_tt_address_mm.uid_local=|
                orderBy = tt_address.sorting ASC
                languageField = 0
                as = addresses
            }
        }

The big disadvantage with this is, that the pidInList or uidInList needs to be set. Because one doesn't know the uidInList yet, the workaround is to this:

pidInList = 1
recursive = 99

This leads to a lot of SQL queries, which is really bad, but recommended in the docs, see

https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/ContentObjects/Records/Index.html#id4

I like to be able to set

uidInList = 0
pidInList = 0

in order to drop these restrictions.

Actions #1

Updated by Christoph Lehmann about 2 months ago

https://github.com/andersundsehr/relation-processor does exactly what i need. Would be nice to see it in core.

Actions

Also available in: Atom PDF