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