我想一个实体转换为关联数组。
看来这个方法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())
));
}
通过上面的代码中,我得到这个错误信息
警告:isset或空的非法偏移类型
如果我通过new ObjectNormalizer()
更换'jsons'
,我得到一个错误信息:
序列化类的对象“的appbundle \实体\ PROJET”当一个循环引用已经被检测(配置的限制:1)
我建议你到下面的方法添加到对象中,需要转换
public function toArray()
{
return get_object_vars($this);
}
到处都用它$array = $projet->toArray();