我在项目上使用rest api,但遇到了问题。我的实体字段:
/**
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Config", mappedBy="test", cascade={"persist"})
* @Serializer\Expose
* @Serializer\Groups({"v2"})
*/
private $configurations;
....
public function __construct()
{
$this->configurations = ArrayCollection();
}
我的回报是:
"configurations": [
{
"id": 52,
"name": null,
}
],
但是我想删除数组并只返回对象配置,例如:
"configurations": {
"id": 52,
"name": null,
}
因此,想法是从配置数组中仅获取一项并返回。请帮助我。
答案 0 :(得分:0)
如果您正在使用Jms,则可以使用类似onPreSerialize方法的事件。比您应该将第一个元素放在虚拟属性中。
答案 1 :(得分:0)
您可以做类似的事情。
添加属性并使用Accessor注释。
/**
* @Serializer\Accessor(getter="getFirstConfiguration")
*/
private $firstConfiguration;
public function getFirstConfiguration()
{
return $this->configurations->first();
}