0
在Symfony2中使用Doctrine,我需要恢復每個項目,併爲他們每個人,他們的報告的最新時間戳。 所以我想執行使用DQL的查詢,這會是這樣的SQL:加入與Doctrine DQL子查詢
SELECT * from `item` i
LEFT JOIN `kit` k ON k.`id` = i.`kit_id`
LEFT JOIN
(SELECT e.`item_id`, MAX(e.`dateCreation`)
FROM `entete_rapport` e
GROUP BY e.`item_id`) latest ON latest.`item_id` = i.`id`
我不能有相同帶DQL。我想我得子查詢等主要的一個分開,像這樣的東西:
$subSelect->select('e AS ItemId, MAX(e.dateCreation) AS latest')
->from('CATUParkBundle:EnteteRapport', 'e')
->groupBy('e.item');
$qb->select('i')
->from('CATUParkBundle:Item', 'i')
->leftJoin('i.kit', 'k')
->leftJoin('CATUParkBundle:EnteteRapport f', sprintf('(%s)', $subSelect->getDQL()), 'latest', 'f.id = latest.ItemId');
我不能讓這個查詢工作,我真的很需要你們。 先謝謝你,你真棒!