在Doctrine 2 ORM中映射标量数组

时间:2013-04-16 01:08:35

标签: php doctrine-orm associations

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

情况如下:

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

在我看来,拥有一个实体有点过分。还有其他解决方案吗?

1 个答案:

答案 0 :(得分:2)

  

数据必须存储在单独的表中

然后你想要一个单独的实体。

  

具有一对多关系类型

实体会为您处理此事。

  

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

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

  

在我看来,拥有一个实体似乎有些过分。

没有。不是。

  

还有其他解决方案吗?

不是没有重新发明轮子。学说拥有你需要的一切,随时可以去。只需按照它的设计使用它。创建一个单独的实体并定义关系。