Я пытаюсь получить запрос JOIN в TYPO3 с использованием createQuery
и $query->statement(...)
, но получаю нечетные результаты. Может ли кто-нибудь объяснить мне, почему TYPO3 не включает имена таблиц в качестве префикса для имен столбцов в запросе JOIN? Связано ли это с ORM? Могу ли я в любом случае ускорить запрос нескольких 1: N-отношений?TYPO3 не поддерживает имена полей в запросе JOIN
Пример:
SELECT
client.name, project.name
FROM
client
LEFT JOIN
project ON project.client = client.uid
PHP-код из репозитория клиента:
$query = $this->createQuery();
$query->statement($statement);
$query->getQuerySettings()->setReturnRawQueryResult(true);
var_dump($query->execute());
В результате выводит только названия проектов:
array (size=294)
0 =>
array (size=1)
'name' => string 'Projectname1' (length=21)
1 =>
array (size=1)
'name' => string 'Projectname2' (length=20)
2 =>
array (size=1)
'name' => string 'Projectname3' (length=32)
EDIT: Это может быть стандартным поведением SQL.
Да. Можно даже сделать 'client.name AS 'client.name''. Возможно, чтобы упростить процедуру сопоставления объектов. –