2012-07-21 66 views
1

我是symfony的新手,我正在嘗試瞭解如何訪問用戶變量。如何在用戶類中訪問我自己的變量fos_userBundle

這是我怎麼能獲得用戶名:

$this->container->get('security.context')->getToken()->getUser()->getUsername(); 

但我怎麼能找回我自己創建的,在我的情況下,$公司(int)的變量? 我試圖做

$this->container->get('security.context')->getToken()->getUser()->getCompany(); 

然後返回我這似乎是無限的大小的物體,鉻只是從來沒有停止加載該頁面,如果我做的var_dump吧!

+0

@ mask8這是一個私有或受保護的屬性,所以他必須調用getter ... – Lusitanian 2012-07-21 23:42:23

+1

使用'\ Doctrine \ Common \ Util \ Debug :: dump(...)'而不是'var_dump '。 – meze 2012-07-22 00:00:25

+0

是啊其實你是對的 – mask8 2012-07-22 00:10:58

回答

1

我假設公司是您通過外鍵鏈接到用戶的另一個實體?

如果是這樣,做一個var_dump將會轉儲很多你不需要的信息。 要麼輸出公司的特定變量,所以 $ this-> container-> get('security.context') - > getToken() - > getUser() - > getCompany() - > getName(); 或嘗試將其轉換爲字符串,如 $ this-> container-> get('security.context') - > getToken() - > getUser() - > getCompany() - > __ toString();

無論如何,你必須實現toString方法,但它總是很好做,因爲它意味着在樹枝模板中你可以得到像{{app.user.company}}這樣的{{app.user.company}}而不是{{app.user.company .name}}