2013-01-23 35 views
1

我在實體中發現(使用findOneBy)單行。這裏的代碼:Symfony2 - 無法顯示實體的值

$userown = $this->getDoctrine()->getRepository('GameShelfUsersBundle:Own') 
    ->findOneBy(array(
     'game' => $game->getId(), 
     'user' => $em->getRepository('GameShelfUsersBundle:User')->find($session->getId()) 
    )); 

現在我把它傳遞給模板爲userown。但是,當我嘗試打印它的樹枝,用{{ userown.typo }},它拋出一個錯誤:

An exception has been thrown during the rendering of a template ("Catchable Fatal Error: Object of class Proxies\__CG__\GameShelf\UsersBundle\Entity\OwnState could not be converted to string in D:\!!XAMPP\htdocs\ 

我的實體是here

回答

5

主義自動解決你的外鍵,所以$typo不是一個字符串,而是一個對象。如錯誤消息所示,此對象不能轉換爲字符串,因此打印失敗。

你可以實現你的OwnState實體內__toString()方法(它應該返回一個字符串)或您打印OwnState對象的實際屬性:{{ userown.type.someProperty }}

+0

該死,它是如此明顯,我只是忘了它;)謝謝! –

1

你確定這是正確的

'game' => $game->getId()

我想應該是遊戲對象本身,而不是ID

'game' => $game,

+0

夥計......你真的讓我的一天!使用下面的代碼:$ language = $ em-> getRepository('LanguageBundle:Language') - > find($ translation-> getLanguage());,我剛剛使用了:$ language = $ translation-> getLanguage(); !!!! –