2014-03-04 58 views
0

我想知道什麼是使一個實體與另一個實體1:N關係,但另外取決於參數的最佳方式。Doctrine2 - 關係取決於參數

例如我有product實體和product_description實體,這取決於product_id以及language(2個字符代碼)。另一個例子是manufacturermanufacturer_description,categorycategory_description。有很多 - 你有想法。

我雖然關於擴展EntityRepository類和添加例如基於註釋的自動連接。我不確定這是否是「正確的方式」去做我想做的事。你能提出更好的解決方案嗎另一個雖然只是有方法getDescription($language)product實體,但對我來說,它只是看起來不是最好的解決方案,尤其是因爲我想加載90%的情況下依賴於語言的內容與所有其他信息。在單獨的查詢中獲取該內容只會產生不必要的負載。

謝謝您的建議。

回答

1

有一個可轉換的教條擴展。我從來沒有使用它,但它看起來像它可能滿足你的使用情況:

http://www.doctrine-project.org/2010/11/18/doctrine2-behavioral-extensions.html

又見

https://github.com/l3pp4rd/DoctrineExtensions

+0

我剛剛檢查了它,它看起來太複雜。我的意思是如何獲得實體,插入新實體的方式,這很奇怪。特別是它如何將數據存儲在數據庫中。我會看看細節,但我認爲我不會堅持這一點。謝謝你的建議:) – grongor

+0

你也可以考慮添加一個doctrine過濾器來添加一個額外的語句來查詢語法http://doctrine-orm.readthedocs.org/en/latest/reference/filters.html :-) – Matt

+0

這看起來好多了 - 謝謝,我會看看它:-) – grongor