我们说你有
class EntityA {
private $id;
privated $sharedUniqueId;
}
class EntityB {
private $id;
private $sharedUniqueId;
}
//EntityA is in an OneToMany Relation with EntityB
如何在没有学说的情况下使EntityB上的entityA_id
和$sharedUniqueId
属性创建OneToMany关联。我一直在查看文档,但我仍然无法找到这个特定的案例。请注意,我不想创建由{id,sharedUniqueId}
有关详细信息,上下文是通过INSERT INTO ... SELECT ... ON DUPLICATE KEY
创建表,并且表的引用是通过此自定义ID完成的,我知道如果我重新更新原始数据则不会更改改变ids。
修改
为什么我会投票?
这是同样的问题。 Is it possible to reference a column other than 'id' for a JoinColumn?
答案 0 :(得分:1)
对于有一天会有这个问题的合法人士。 这在他们的文档中描述是一个已知的限制
无法使用指向非主键的连接列。 Doctrine会认为这些是主键并使用数据创建延迟加载代理,这可能会导致意外结果。出于性能原因,Doctrine可以在运行时不验证此设置的正确性,而只能通过Validate Schema命令验证。