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
.
我不知道这是否是首选的方式,但它完全符合我的需要,据我所知,它不会破坏任何逻辑。
而且序列化的对象真的很小,所以目前我没有看到任何缺点。
我是 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
.
我不知道这是否是首选的方式,但它完全符合我的需要,据我所知,它不会破坏任何逻辑。
而且序列化的对象真的很小,所以目前我没有看到任何缺点。