JMS序列化器在循环时停止

时间:2018-09-12 11:02:05

标签: php serialization jms-serializer

我遇到了JMS序列化器错误。我使用序列化组,但是循环对象未序列化。

这是我的返回序列化响应的函数。

ExecutionContext

这是我的实体1

$entity1 = New Entity1();

[some algorithm...]

// DISPLAY ENTITY TO VERIFY THE LOOP on ENTITY
var_dump($entity1->getEntity2()->getEntity3()->getEntity1()->getEntity2()->getId());
// DISPLAY WELL THE ID SO THE OBJECT WELL EXIST

return new Response(
            $serializer->serialize(
                $entity1,
                'json',
                SerializationContext::create()->setGroups(['id', 'elements'])
            )
        );

这是Entity2

class Entity1
    {
        /**
         * @var int
         * @Groups("id")
         *
         * @ORM\Column(name="id", type="integer")
         * @ORM\Id
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        private $id;

/**
     * @var Entity2
     * @Groups("elements")
     */
        private $entity2;
    }

/**
         * @var name
         * @Groups("elements")
         */
        private $name;
    }

这是Entity3

class Entity2
    {
        /**
         * @var int
         * @Groups("id")
         *
         * @ORM\Column(name="id", type="integer")
         * @ORM\Id
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        private $id;

    /**
         * @var Entity3
         * @Groups("elements")
         */
        private $entity3;
    }

但响应仅是:

class Entity3
    {
        /**
         * @var int
         * @Groups("id")
         *
         * @ORM\Column(name="id", type="integer")
         * @ORM\Id
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        private $id;

    /**
         * @var Entity1
         * @Groups("elements")
         */
        private $entity1;
    }

缺少子实体1的实体2,仅序列化了“ id”和“ name”。我不明白为什么...

0 个答案:

没有答案