[英]TYPO3 doesn't respect field names in JOIN query
我正在嘗試使用createQuery
和$query->statement(...)
在TYPO3中獲取JOIN查詢,但得到奇怪的結果。 有人可以向我解釋為什么TYPO3在JOIN查詢中不包括表名作為列名的前綴嗎? 這是否與ORM沖突? 無論如何,我可以加快多個1:N關系的查詢嗎?
例:
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)
編輯 :這可能是標准的SQL行為。
對字段使用別名:
SELECT
client.name client_name, project.name project_name
FROM
client
LEFT JOIN
project ON project.client = client.uid
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.