在Doctrine 2 ORM中映射标量数组
Is it possible to map an array of scalars to a property in a Doctrine entity without creating a separate entity for the items in the array?
The situation is as follows:
- The entity has a property which is an array of strings.
- The data must be stored in a separate table, with a one-to-many type relationship.
- Using Doctrine's
array
type is not possible, because it uses PHP serialization, and this data must be simple to read for both PHP and non-PHP systems.
It seems to me like overkill to have an entity. Is there another solution?
是否可以将标量数组映射到Doctrine实体中的属性,而无需为项创建单独的实体 在数组中? p>
情况如下: p>
- 实体有一个属性,它是一个字符串数组。
- 数据必须存储在一个单独的表中,并且具有一对多的类型关系。 li>
- 使用Doctrine的
array code>类型不是 可能,因为它使用PHP序列化,并且这些数据必须易于阅读PHP和非PHP系统。 li> ul>
在我看来有点矫枉过正 一个实体。 还有其他解决方案吗? p> div>
The data must be stored in a separate table
Then you want a separate entity.
with a one-to-many type relationship
Entities handle this for you.
The entity has a property which is an array of strings
You'll have an array collection of entities by default, and can easily write your own getter method to return a simple array of strings if necessary.
It seems to me like overkill to have an entity.
No. It's not.
Is there another solution?
Not without reinventing the wheel. Doctrine has everything you need, ready to go. Just use it like it's designed. Create a separate entity and define the relationship.