rrw*_*rrw 5 php orm symfony doctrine-orm dbal
我正在尝试使用ORM创建一个querybuilder.但我偶然发现了一个与2个可能的表有关系的实体上的字段.有了这种结构,(恕我直言)就不可能将它映射到实体本身.
????????? ????????? ?????????
? ValB ? ? Main ? ? ValC ?
????????? ????????? ?????????
? *? pk ?-- + ? *? pk ? +---? *? pk ?
????????? | ????????? | ?????????
? ? ? +--? ?v_id?---+ ? ? ?
????????? ????????? ?????????
? ? ? ? ? ? ? ? ?
????????? ????????? ?????????
Run Code Online (Sandbox Code Playgroud)
可以将DBAL QueryBuilder与ORM QueryBuilder混合,或者仍然使用ORM QueryBuilder的任何其他方式主要在代码上.
PS.我没有设计数据库,我只是优化它.非常遗憾 :(
不,它没有意义,因为后来ORM必须将结果映射到对象.你不能既映射ValB,并ValC在同一财产Main
要正确地做,Main表格ValB和ValC关系中应该有单独的字段.即使它们具有相同的价值.像这样
????????? ?????????? ?????????
? ValB ? ? Main ? ? ValC ?
????????? ?????????? ?????????
? *? pk ?-- + ? *? pk ? +---? *? pk ?
????????? | ?????????? | ?????????
? ? ? +--? ?vB_id? | ? ? ?
????????? ?????????? | ?????????
? ? ? ? ?vC_id?---+ ? ? ?
????????? ?????????? ?????????
Run Code Online (Sandbox Code Playgroud)
您可以复制v_id列,然后在Doctrine中进行正确的映射.