我有一个“ 多对多自引用”实体,需要对父母是孩子的元素进行搜索 。 例如
{
"id": 58,
"name": "DVD & Home Theater",
"parent": {
"id": 5,
"name": "TV & Video",
"parent": null
}
}
搜索“ 家庭电视”,其中部分文本位于父元素中。 我可以添加一个额外的列,当持久化时,实体将子元素中的父元素名称连接到“ 电视和视频> DVD和家庭影院”中,以便使用该列进行搜索
我还想仅在将父元素的名称插入子元素的地方返回一个元素
{
"id": 58,
"name": "TV & Video > DVD & Home Theater"
}
我可以使用以下表示法解决此假设问题
/**
* @JMS\PreSerialize
* @return mixed
*/
public function getParent()
{
$parent = $this->parent;
if ($parent) {
$this->name = $this->parent->getName() . ' > ' . $this->name;
}
return $parent;
}
我想要这样的最终结果
[
{
"id": 5,
"name": "TV e Vídeo"
}, {
"id": 59,
"name": "TV e Vídeo > TV Led"
}, {
"id": 82,
"name": "TV e Vídeo > Antenas"
}, {
"id": 58,
"name": "TV e Vídeo > DVD e Home Theater"
}
]