2013-10-25 44 views
0

我想要做什麼:我有我的數據庫中的用戶在我的控制器中,我得到他們在$用戶。那些實體有一個事件屬性,它存儲事件對象的ID。Symfony2:將屬性添加到控制器中的對象

現在在我的控制器中循環遍歷我的$ users對象的用戶並獲取當前用戶的每個id的事件。那麼我想閱讀這個事件的titel屬性,並將其設置爲用戶的另一個屬性,如user.eventtitle,所以我可以在我的樹枝視圖中訪問此標題。

明白嗎?即時通訊有一種方法來實現這一目標,但我不知道如果我的是最好的方式..:P

非常感謝提前!

回答

0

在你的用戶類

public function getEventTitle(){ 
    return $this->event->getTitle(); 
} 

添加一個代理功能或得到它在樹枝模板

{{ user.event.title }} 

寫自己的DQL查詢發現用戶事件加入了(如果你使用的教義)在一個查詢中獲取事件對象,並避免延遲加載。

SELECT u, e FROM YourBundle:User u LEFT JOIN u.event WHERE u.id = :id 

編輯:

,如果你不知道如何讓你的協會合作,讀this

+0

不會在我的用戶和用戶之間建立直接連接我的活動實體?我怎麼能做到這一點? 和是否有可能做一些像user.event.title? – humpdi

+0

是的,我更新了參考答案。你應該閱讀它,如果你不知道如何使協會工作。我使用的是教條,所以它是一個教條文檔。 – Kuro

0

爲什麼不創建另一個attribut與關聯的getter您的用戶實體類/ setter方法

protected $eventTitle; 

public function getEventTitle() { 
    return $this->eventTitle; 
} 

不指定任何持久性的註釋。 然後你可以通過你的控制器循環來填充這個屬性。

+0

會不會更好地直接連接我的用戶和我的事件實體?我怎麼能做到這一點? 和是否有可能做一些像user.event.title? – humpdi

+0

我以爲你沒有任何事件實體。那麼創建一個到多個事件屬性呢?如果事件不爲空,您將能夠在twig中執行user.event.title調用(測試'user.event已定義並且user.event') –