1
我試圖使用查詢生成器加入2個表,它們沒有什麼關係。Symfony的2查詢生成器加入無關係(交叉連接)
期望的最終結果:
SELECT x, y
FROM x
JOIN y
查詢生成代碼:
$qb = $this->getEntityManager()->createQueryBuilder();
$qb->select('x');
$qb->from('Test1', 'x');
$qb->join('Test2', 'y');
$qb->orderBy('x.name', 'ASC');
產生如下DQL:
SELECT x FROM Test1 x INNER JOIN Test2 y ORDER BY x.name ASC
這導致語法錯誤:
[Syntax Error] line 0, col 137: Error: Expected Literal, got 'BY'
實體Test1和Test2沒有關係(不在代碼中,也不在數據庫中)。
有什麼辦法可以做到這一點? 我想用查詢生成器,因爲我有很多其他功能的依賴於查詢構建器(用於篩選和排序等)的查詢。
我知道這是可能與普通的SQL,或DQL查詢(不通過查詢器生產)。
但沒有關係。所以x不涉及y –
不明白爲什麼你想排序完全2個不同的表作爲一個單一的?這是非常糟糕的設計實踐。 –
這正是我想要的。我有一個包含域的表格和一個帶參數的表格。我想要一個包含所有域的所有參數列表的結果集。 –