我想知道让一个实体与另一个实体具有1:N关系但又取决于参数的最佳方法是什么。
例如,我有product
entity和product_description
实体,它取决于product_id
以及language
(2个字符代码)。另一个示例是manufacturer
和manufacturer_description
,category
和category_description
。有很多-您有主意。
我虽然要扩展EntityRepository
类并添加基于注释的自动连接。我只是不确定这是否是执行我想要的“正确方法”。您能提出更好的解决方案吗?另一个虽然只是在getDescription($language)
实体中具有方法product
,但是对我来说,它并不是最佳解决方案,尤其是因为我想在90%的情况下将所有其他信息加载与语言相关的内容。在单独的查询中获取该内容只会造成不必要的负载。
谢谢您的建议。
最佳答案
有一个可翻译的学说扩展。我从未使用过它,但看起来它可以解决您的用例:
http://www.doctrine-project.org/2010/11/18/doctrine2-behavioral-extensions.html
也可以看看
https://github.com/l3pp4rd/DoctrineExtensions