我正在尝试找出一种在我的 sym2 实体中存储对象数组的好方法。数组中的对象如下所示:
{
"id" : 1,
"top" : 200,
"left" : 150,
"width" : 500,
"height" : 600
}
我应该像这样选择数组属性吗?
/**
* @var array $modules
*
* @ORM\Column(name="modules", type="array", nullable=true)
*/
private $modules;
/*
{
"id" : 1,
"left" : 150,
"top" : 200,
"width" : 500,
"height" : 600
}
*/
或者有没有更流畅的方法,我可以将包含在这个数组中的对象创建为一个单独的实体,然后将这些实体的数组存储在这个实体中吗?
我不想将这些单独保存到数据库中,我想将它们保存在这个主要实体中。我知道我可以建立多对多的关系,但我不想这样做,这对于我想要完成的事情来说有点矫枉过正。
----- 更新 ------- 感谢 Guillaume Verbal,这就是我要做的,我认为这也可以正常工作,因为 JSON 可以无限地获取嵌套对象?
$person[0] = new Acme\Person();
$person->setName('foo');
$person->setAge(99);
$person[1] = new Acme\Person();
$person->setName('foo');
$person->setAge(99);
$jsonContent = $serializer->serialize($person, 'json');
// $jsonContent contains {"name":"foo","age":99}