Skip to content
Snippets Groups Projects
Commit ca5b8db7 authored by Tymoteusz Motylewski's avatar Tymoteusz Motylewski
Browse files

[BUGFIX] Fix database query in StaticRecordCollection

Fix the query to fetch collection records to use an alias for the
foreign table instead of the MM tables and properly join on uid_local
and uid_foreign.

Change-Id: Idf9bacd84f4a2980470183ede034e7edaa489a3f
Resolves: #81353
Releases: master, 8.7
Reviewed-on: https://review.typo3.org/53132


Tested-by: default avatarTYPO3com <no-reply@typo3.com>
Reviewed-by: default avatarWouter Wolters <typo3@wouterwolters.nl>
Tested-by: default avatarWouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: default avatarTymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: default avatarTymoteusz Motylewski <t.motylewski@gmail.com>
parent 9ebcd4d5
Branches
Tags
No related merge requests found
......@@ -158,26 +158,27 @@ class StaticRecordCollection extends AbstractRecordCollection implements Editabl
*/
protected function getCollectedRecords()
{
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable(self::$storageTableName);
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
->getQueryBuilderForTable(self::$storageTableName);
$queryBuilder->getRestrictions()->removeAll();
$statement = $queryBuilder->select($this->getItemTableName() . '.*')
->from(self::$storageTableName)
->join(
self::$storageTableName,
'sys_collection_entries',
'sys_collection_entries_join',
'sys_collection_entries',
$queryBuilder->expr()->eq(
'sys_collection_entries_join.uid_local',
'sys_collection_entries.uid_local',
$queryBuilder->quoteIdentifier(self::$storageTableName . '.uid')
)
)
->join(
'sys_collection_entries_join',
'sys_collection_entries',
$this->getItemTableName(),
$this->getItemTableName(),
$this->getItemTableName() . '_join',
$queryBuilder->expr()->eq(
'sys_collection_entries_join.uid_local',
$queryBuilder->quoteIdentifier($this->getItemTableName() . '_join.uid')
'sys_collection_entries.uid_foreign',
$queryBuilder->quoteIdentifier($this->getItemTableName() . '.uid')
)
)
->where(
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment