我一直在使用「jms/serializer」:「0.13.*@dev」來序列化我的對象。序列化持久性收集與JMS序列化
我在Zend Framework(2)和Doctrine項目中使用它。
這是我的代碼:
use JMS\Serializer\SerializerBuilder as SerializerBuilder;
(....)
public function getList() {
$em = $this->getEntityManager();
$repo = $em->getRepository('MyApp\Entity\Product');
$hydrator = new DoctrineHydrator($em);
$data = array();
foreach ($repo->findAll() as $found) {
$data[] = $hydrator->extract($found);
}
$serializer = SerializerBuilder::create()->build();
$jsonContent = $serializer->serialize($data, 'json');
$this->getResponseWithHeader()->setStatusCode(self::OK_200);
return new JsonModel($jsonContent);
}
但我收到此錯誤:
Resources are not supported in serialized data. Path: MyApp\Entity\FOO -> Doctrine\ORM\PersistentCollection -> MyApp\Entity\Product -> Doctrine\ORM\PersistentCollection -> DoctrineORMModule\Proxy__CG__\MyApp\MyApp\Brand
顯然,你不能序列化持久化集合。
我搜索了一下,找到了this Symfony相關的問題。但是如何在獨立的Serializer庫中解決這個問題?
非常感謝。
編輯
可這有什麼關係JMS註解?我應該使用某些註釋來實現這一功能嗎?
感謝您的反饋。但它不會以這種方式填充我的相關對象。他們空着...... – sanders