2013-07-10 15 views
1

試想誰鏈接到公司用戶:SonataAdmin - 選擇字段從非管理實體

User 
    - id 
    - username 
    - company_id 

公司名單來自一個過程調用(外部DB),對相關表沒有動手

EXEC getCompanies; 
+----+-------+ 
| id | name | 
+----+-------+ 
| 1 | comp1 | 
| 2 | comp2 | 
| 3 | comp3 | 
+----+-------+ 

你會如何整合這一點,讓SonataAdmin在用戶編輯中爲公司提供正確的輸入選擇,並在用戶列表中顯示公司名稱?

你知道我在哪裏可以找到關於這個特殊情況的例子嗎?


我確實從過程調用去抓取他的價值觀定製company字段類型,但我不知道這是最好的想法,我不能在列表中顯示公司早些名。

回答

0

你可以使用一個choice類型,如果有太多的企業展示,您可以使用GenemuFormBundle與選擇二庫有選擇的過濾部件。

+0

項目的數量不是問題,我已經擴展了'choice'類型。問題更多的是從過程調用中獲取值並在列表中顯示標籤。感謝[Select2](http://ivaynberg.github.io/select2/)我不知道它,看起來非常好。 –

+0

您可以編寫一個方法,將公司實體列表預加載到'UserManager'內的用戶,並將'UserManager'注入到您的'Admin'中。你也可以註冊每個onLoad事件後自動加載列表的Doctrine監聽器(然後不需要注入Admin)。 – TautrimasPajarskas