Symfony 3 建议:从另一个实体检索数据

Symfony 3 advice : retrieve data from another entity

我是 Symfony 的新手,我想知道如何实现这一点:我正在从一个实体中检索数据,并且一个字段在 JSON 中。它引用了我想转换成对象的其他实体的数据。这是一个例子:

// JSON received
{items:"221,223",level:1,places:"12,15,17"}

我想把它变成:

Array(
    'items' => array(
        0 => Object(MyBundle/Entity/Item),
        1 => Object(MyBundle/Entity/Item)
    ),
    'level' => 1,
    'places' => array(
        0 => Object(MyBundle/Entity/Place),
        1 => Object(MyBundle/Entity/Place)
    ),
)

检索这些 Item 对象的最佳实践方法是什么,因为从另一个实体调用一个实体不是一个好主意?

我考虑过将它们序列化,因为嵌入的对象会相当小,但这是最好的解决方案吗?

JSON可能包含很多其他实体,或者none,内容不固定。

您似乎需要为您的实体使用 OneToMany 关系。它会给你一个对象数组。 看看这个:http://symfony.com/doc/current/doctrine/associations.html

我最终序列化了我的对象并将它们保存在数据库中。整个过程由 Symfony 自己管理,因为 table 中的字段已被声明为 object.

我不知道这是否是首选的方式,但它完全符合我的需要,据我所知,它不会破坏任何逻辑。

而且序列化的对象真的很小,所以目前我没有看到任何缺点。