DEPRECATION WARNING

This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

Limitations

TYPO3's overlay architecture makes it very difficult to provide a full-fledged API for some operations without building a complete SQL parser on top (which is essentially what the "dataquery" extension of the Tesseract project does).

Table joins

In \TYPO3\CMS\Core\Database\DatabaseConnection::exec_SELECTquery() it is perfectly okay to make joins by setting several table names in the $from_table parameter. Example:

$result = \TYPO3\CMS\Core\Database\DatabaseConnection::exec_SELECTquery('*', 'pages, tt_content', 'tt_content.pid = pages.uid');

This will not work correctly for overlays. Indeed tables must be overlaid individually. So in order to have joined tables overlaid, it would be necessary to separate the result of the query into two tables again, overlay each part and join them again.

The suggestion that can be made here is to select records from both tables separately using tx_overlays::getAllRecordsForTable() and perform the join in your PHP code.