它是一個很好的解決方案使用symphony實體表單類型的關係(例如標籤 - manytomany)。symfony2實體字段是很多相關對象的良好解決方案嗎?
我想到了一個標籤對象的大集合!爲選擇列表加載數據庫的所有標籤沒有多少開銷?
如果這是真的,我怎麼能更好地解決這個問題?
邁克爾問候!
它是一個很好的解決方案使用symphony實體表單類型的關係(例如標籤 - manytomany)。symfony2實體字段是很多相關對象的良好解決方案嗎?
我想到了一個標籤對象的大集合!爲選擇列表加載數據庫的所有標籤沒有多少開銷?
如果這是真的,我怎麼能更好地解決這個問題?
邁克爾問候!
你不應該關心在這種狀態下的微觀優化。但當然,你應該知道教義。如果你有一對多或多對多的關係,並且你知道,你需要它的相關性,例如,您的代碼作爲getTags,稍後在您的應用程序中,您應該在查詢構建器中進行連接。否則,關係在第一次調用時被延遲加載到getTags
tags - manytomany
是一個正常的解決方案,但當然這是一個開銷加載數據庫的選擇列表的所有標記(如果有一個大集合),你不需要一次加載全部,使用一些jquery插件來處理它(可能是基於Ajax的Select2插件...)
好的。那是我第一次嘗試。但是不可能將選項選項設置爲null或空數組。在這種情況下,所有標籤都會重新加載。 – Slowwie
@Slowwie你甚至不需要創建一個選擇列表,你可以創建一個將id轉換爲object的文本字段(使用DataTransformer)並使用jquery插件添加自動完成功能[bootstrap-ajax-typeahead](https:// github.com/biggora/bootstrap-ajax-typeahead)可以是不錯的選擇.. – xurshid29
是的,我知道。我最初嘗試了這一點。但它有它自己的缺點。例如,您在reverseTransform函數中沒有可用的id。然後,我必須對檢查數據庫中現有的每個字符串進行一次教義調用,並堅持新的標記等等。當我有一個像symfony2的'實體類型'一樣的簡單易用的表單類型時,我認爲這不是一個乾淨而好的解決方案。是否有一個選項可以禁用實體類型中的選項加載,然後在模板中使用Ajax加載它? – Slowwie