在原则2 ORM中映射标量数组


Mapping an array of scalars in Doctrine 2 ORM

是否可以将标量数组映射到Doctrine实体中的属性,而无需为数组中的项创建单独的实体?

情况如下:

  • 实体有一个属性,它是一个字符串数组。
  • 数据必须存储在单独的表中,采用一对多类型关系。
  • 使用Doctrine的array类型是不可能的,因为它使用PHP序列化,并且该数据必须易于PHP和非PHP系统读取。

在我看来,有一个实体似乎有点小题大做。还有别的解决办法吗?

数据必须存储在单独的表

那么你想要一个单独的实体。

具有一对多类型关系的

实体为你处理这个

实体有一个属性,它是一个字符串数组

默认情况下,您将拥有一个实体数组集合,并且可以轻松编写自己的getter方法来返回一个简单的字符串数组。

在我看来,有一个实体似乎有点小题大做。

。它不是。

有其他解决方案吗?

不重新发明轮子。教义有你需要的一切,准备好了。就像它的设计一样使用它。创建一个单独的实体并定义关系。