实体对象到数组
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();
我正在尝试将实体转换为关联数组。
似乎方法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();