Я использую «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
По-видимому, вы не можете сериализовать постоянные коллекции.
У меня googled вокруг и нашел this Вопросы, связанные с Symfony. Но как я могу решить эту проблему в рамках отдельной библиотеки Serializer?
Большое спасибо.
EDIT
Может ли это иметь ничего общего с JMS аннотациями? Должен ли я использовать определенные аннотации, чтобы заставить это работать?
Спасибо за вашу реакцию. Но он не заполняет мои связанные объекты таким образом. Они оставлены пустыми ... – sanders