2013-06-28 58 views
0

我想在我的Symfony2項目中查詢模型,並且我遇到了一個我找不到的小問題。檢查了這一點:多重連接中的學說查詢語法錯誤

$q2 = 
    'SELECT 
    p.code, 
    p.desc, 
    SUM(d.quantity) as quantity, 
    SUM(d.quantity*d.prize) as euros 
    FROM 
    Product p 
    JOIN 
    TransactionDetail d 
    JOIN 
    d.transaction t 
    WHERE 
    d.product IN :array 
    AND 
    t.shop = :shop 
    GROUP BY 
    p.code'; 
$query2 = $this->em->createQuery($q2) 
    ->setParameter('shop', $shop)->setParameter('array', $array); 
$result = $query2->getResult(); 

而且我得到這個錯誤:

[Syntax Error] line 0, col 248: Error: Expected =, <, <=, <>, >, >=, !=, got 't' 

我不明白。有人能幫我一下嗎?

謝謝。

回答

1

我認爲你應該與另一個實體鏈接TransactionDetail:

目前:

JOIN 
    TransactionDetail d 

應該是:

JOIN 
    p.transactionDetail d 
+0

但它不是這樣的。 「產品p」沒有transactionDetail屬性。 TransactionDetail有一個產品屬性。 – gomman

+0

那你不能這樣做。您必須讓產品知道細節才能加入它。 (在產品上使用反向關係(ManyToOne/OneToMany)。 – Florian