实体对象到数组

Entity object to array

我正在尝试将实体转换为关联数组。
似乎方法toArray()不适用于实体对象。

阅读 Symfony 文档,看来我应该使用 SerializerInterface.
启用它后,我似乎找不到将我的实体转换为关联数组的正确语法。

有人可以更正我的代码吗?

use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;
use Symfony\Component\Serializer\SerializerInterface;

// -----------------------

public function salleAction(Request $request, Projet $projet, SerializerInterface $serializer) {
    return this->json(array(
        'projet'=>$serializer->serialize($projet, new ObjectNormalizer())
    ));
}

使用上面的代码,我收到此错误消息

Warning: Illegal offset type in isset or empty

如果我将 new ObjectNormalizer() 替换为 'jsons',我将收到下一条错误消息:

A circular reference has been detected when serializing the object of class "AppBundle\Entity\Projet" (configured limit: 1)

建议你在需要转换的对象中添加如下方法

public function toArray()
{
    return get_object_vars($this);
}

随处使用它$array = $projet->toArray();