在多个实体中拥有相同实体字段的最佳方法是什么?例如,“relatedEntity”将出现在8个表中。
class User
{
#[ORM\Column(length: 255)]
private ?string $relatedEntity = null;
}
class User2
{
#[ORM\Column(length: 255)]
private ?string $relatedEntity = null;
}
“用户”中的RelatedEntity就像其他人的父字段。有没有办法将它们相互Map以使查询更简单?
我试过一对一,但每次它添加一个新用户,我不需要。
3条答案
按热度按时间ajsxfq5m1#
你有几个选择,你可以使用一个Trait或使用一个abstract class。就像@LBA在他的回答中说的那样,如果你的实体有很多共同点,只有一些差异,你可能想看看inheritance mapping。
性状示例:
抽象类示例:
gwo2fgha2#
有一个围绕这一点的整个世界和几种方法。
另一个选择是使用
就像一些常见的理论扩展一样,请找到一些文档here的方法
不知道你到底想达到什么目的,很难推荐一个或另一个。
请带着更详细的问题回来。
icomxhvb3#
我会尽力解释的用户有一个useruuid字段,其他实体也有同样的useruuid字段--只是为了知道哪个用户填写了哪个表单。
每个表单都有自己的实体-应用程序的其余部分需要这样做。
那么,我如何将每个实体'uuid'与父'user -uuid'连接起来?
这是所有关于效率与查询获得所有用户填写的表单。现在它离开了连接每个实体并检查uuid是否匹配。