2015-05-24 45 views

回答

0

你不應該關心在這種狀態下的微觀優化。但當然,你應該知道教義。如果你有一對多或多對多的關係,並且你知道,你需要它的相關性,例如,您的代碼作爲getTags,稍後在您的應用程序中,您應該在查詢構建器中進行連接。否則,關係在第一次調用時被延遲加載到getTags

0

tags - manytomany是一個正常的解決方案,但當然這是一個開銷加載數據庫的選擇列表的所有標記(如果有一個大集合),你不需要一次加載全部,使用一些jquery插件來處理它(可能是基於Ajax的Select2插件...)

+0

好的。那是我第一次嘗試。但是不可能將選項選項設置爲null或空數組。在這種情況下,所有標籤都會重新加載。 – Slowwie

+1

@Slowwie你甚至不需要創建一個選擇列表,你可以創建一個將id轉換爲object的文本字段(使用DataTransformer)並使用jquery插件添加自動完成功能[bootstrap-ajax-typeahead](https:// github.com/biggora/bootstrap-ajax-typeahead)可以是不錯的選擇.. – xurshid29

+0

是的,我知道。我最初嘗試了這一點。但它有它自己的缺點。例如,您在reverseTransform函數中沒有可用的id。然後,我必須對檢查數據庫中現有的每個字符串進行一次教義調用,並堅持新的標記等等。當我有一個像symfony2的'實體類型'一樣的簡單易用的表單類型時,我認爲這不是一個乾淨而好的解決方案。是否有一個選項可以禁用實體類型中的選項加載,然後在模板中使用Ajax加載它? – Slowwie

相關問題