gpt4 book ai didi

php - Doctrine2 - 来自两个不同实体的同一实体的多态关联

转载 作者:行者123 更新时间:2023-11-30 00:24:52 24 4
gpt4 key购买 nike

我仍在尝试理解 Doctrine2 中的多态关联。

据我了解,基本的多态关联通过使用继承来工作。例如,如果我有表/类 OWNERCATDOG,那么启用 $owner->pet 的方法 指向 CATDOG 表,就是让它们分别扩展第四个类 PET,该类被称为映射父类(super class)。然后 $owner->pet 可以根据分配的内容返回 CATDOG,并且 Doctrine2 将能够区分它们.

这很简单。但是如果我想要有两个可以指向同一个对象的多态关联怎么办?例如,假设我有一个 ADMIRALS 表,每个表都可以命令一个 FLEET 或一个 PLANET。还假设我有一个 SECTORS 表,每个表都可以包含一个 PLANETMOON

假设我希望 $admiral->command 引用 PLANETSFLEETS,并且我希望 $sector ->contents 来引用PLANETSMOONSPLANET 无法将 commandcontents 扩展为映射的父类(super class)。有没有不同的方法来完成这项工作?

最佳答案

你可以尝试ResolveTargetEntityListener see

您可以将海军上将的命令属性指向一个接口(interface),该接口(interface)由两个行星实现和舰队

扇区的内容也是如此

关于php - Doctrine2 - 来自两个不同实体的同一实体的多态关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22966208/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com