2017-04-10 43 views
1

Symfony獲取關係數據: 我有ReservedOffer對象,我得到的值如 $ reservedOffer-> getOfferGroup() - > getOffer() - > getGood()我喜歡看圖像。 enter image description hereSymfony沒有得到樹枝中的關係數據

$reservedOffer->getOfferGroup()->getOffer()->getGood()->getName() // Sony 

但樹枝,如果我寫

reservedOffer.offerGroup.offer.good.name // i get '' 

爲什麼? 有什麼想法?

+0

什麼是您的查詢,DQL或querybuilder? –

+0

嗨@FrankB reservedOffer是一個控制器動作參數,所以直接獲取reservedOffer對象。 –

+0

在這種情況下,Symfony會嘗試爲您加載reservedOffer對象。可能會更好地傳遞對象的id作爲參數,然後自己加載它。如果你不瞭解我,那就請我舉個例子吧 –

回答

1

所以現在我正在關聯的表也是selectindg數據的錯誤和我的問題解決了。 它的工作原理是

public function findReservedOfferWithRelationData(ReservedOffer $reservedOffer) 
{ 
    return $this->createQueryBuilder('reservedOffer') 
     ->select('reservedOffer, offerGroup, offer, good') 
     ->join('reservedOffer.offerGroup', 'offerGroup') 
     ->join('offerGroup.offer', 'offer') 
     ->join('offer.good', 'good') 
     ->where('reservedOffer.id = :id') 
     ->setParameter('id', $reservedOffer->getId()) 
     ->getQuery() 
     ->getOneOrNullResult(); 
} 
0

嘗試設置樹枝的strict_variablestrue,你會看到

# app/config/config.yml 
twig: 
    debug:   true 
    strict_variables: true