簡體   English   中英

TYPO3不尊重JOIN查詢中的字段名稱

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM