在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?

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.