Extension repository & Download
Introduction
TYPO3 uses doctrine-dbal with restrictions on fields like deleted, hidden, starttime, endtime etc. since version 8. These restrictions are added by default to the WHERE-clause in the SQL-statement. This works fine except for LEFT JOINs, which behave like INNER JOINs.
What does it do?
This extensions provides the posibility to change the behavior of LEFT JOINs with restrictions simply by adding [true] as additional last parameter.
Einleitung
TYPO3 verwendet seit Version 8 Doctrine-DBAL mit Beschränkungen auf Felder wie deleted, hidden, starttime, endtime usw. Diese Beschränkungen werden standardmäßig der WHERE-Bedingung im SQL-Statement hinzugefügt. Das funktioniert gut außer für LEFT JOINs, die sich dadurch wie INNER JOINs verhalten.
Was macht die Extension?
Die Extension gibt die Möglichkeit, das Verhalten von LEFT JOINs mit Bedingungen zu korrigieren, einfach indem [true] als zusätzlicher letzter Parameter hinzugefügt wird.
Developer Manual
Default behavior
Anleitung für Entwickler
Standardverhalten
PHP
$queryBuilder->leftJoin($fromAlias, $join, $alias, $condition);
SQL
SELECT *
FROM table1
LEFT JOIN table2 ON table1.uid = table2.field
WHERE table1.deleted = 0 AND table2.deleted = 0;
Corrected behavior
Add [true] as additional last parameter to the method leftJoin. The restrictions are moved from the WHERE-clause into the LEFT JOIN.
Korrigiertes Verhalten
Fügen Sie [true] als zusätzlichen letzten Parameter zur Methode leftJoin hinzu. Die Beschränkungen werden von der WHERE-Bedingung zum LEFT JOIN verschoben.
PHP
$queryBuilder->leftJoin($fromAlias, $join, $alias, $condition, true);
SQL
SELECT *
FROM table1
LEFT JOIN table2 ON table1.uid = table2.field AND table2.deleted = 0
WHERE table1.deleted = 0;
TYPO3 Extensions
Wir integrieren und entwickeln für Sie individuelle Erweiterungen,
die Ihren Anforderungen entsprechen.
