我正在映射一个已经存在于条令中的数据库,但首先设计得很差:
|--------------| |----------------------|
| Entity A | | Entity B |
|--------------| |----------------------|
|ID (Int)(PK)| |ID (Int)(PK)|
|FOO (Str) | |BAR -> A.FOO (Str) |
|--------------| |----------------------|
b实体在数据库中存储了a.foo,而不是a.id。
因此,如果实体A更改a.foo,这不会级联到b实体。所以我知道这很可怕,但是我现在不能改变他们的结构。
有没有一种方法可以像这样用学说来描绘?似乎我不能,因为a.foo不是主键?
IN B ENTITY
/**
* @ORM\OneToOne(targetEntity="App\Entity\A")
* @ORM\JoinColumn(name="BAR", referencedColumnName="FOO")
*/
最后,我想为我的b实体准备一个表单,其中的choiceType包含a.foo值。我必须用
选择解析器
获取价值观,还是有更简单直接的方法与学说?