douniewei6346 2013-04-16 01:08
浏览 30
已采纳

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

  • 写回答

1条回答 默认 最新

  • dpq59734 2013-04-16 01:22
    关注

    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.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?