Doctrine Entity не будет сериализоваться с помощью JMS Serializer

У меня есть один объект, который не будет сериализован с помощью JMS Serializer. Ошибок не выдает, просто пустой экран. Если я раскрываю этот объект в любом из связанных с ним объектов, он отвечает пустой страницей. Я тыкал в это больше дня, и это стало довольно неприятно. Что может помешать сериализации объекта JMS Serializer? Вот фрагмент сущности. Я могу предоставить любой запрошенный материал любому, кто хочет помочь мне здесь.

<?php

namespace TMG\Api\ApiBundle\Entity;

use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;

use JMS\Serializer\Annotation as Serializer;


/**
 * Property
 *
 * @ORM\Table(name="Properties")
 * @ORM\Entity(repositoryClass="TMG\Api\ApiBundle\Entity\Repository\PropertyRepository")
 * @ORM\HasLifecycleCallbacks()
 *
 * @Serializer\ExclusionPolicy("all")
 */
 class Property
{
public function __construct()
{
    $this->featuredAmenities = [];
    $this->users = new ArrayCollection();
    $this->amenities = new ArrayCollection();
    $this->contracts = new ArrayCollection();
    $this->rates = new ArrayCollection();
    $this->photos = new ArrayCollection();
    $this->tollFrees = new ArrayCollection();
    $this->favorites = new ArrayCollection();
}

/**
 * @var integer
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 *
 * @Serializer\Expose
 */
private $id;

/**
 * @var string
 *
 * @ORM\Column(name="hash", type="string", length=8)
 *
 * @Serializer\Expose
 */
private $hash;

/**
 * @var string
 *
 * @ORM\Column(name="ax_number", type="string", length=40, unique=true)
 *
 * @Serializer\Expose
 */
private $axNumber;

/**
 * @var string
 *
 * @ORM\Column(name="property_number", type="string", length=40, nullable=true)
 *
 * @Serializer\Expose
 */
private $propertyNumber;

/**
 * @var string
 *
 * @ORM\Column(name="name", type="string", length=255)
 *
 * @Serializer\Expose
 */
private $name;

/**
 * @var string
 *
 * @ORM\Column(name="contact_name", type="string", length=255, nullable=true)
 *
 * @Serializer\Expose
 */
private $contactName;

/**
 * @var string
 *
 * @ORM\Column(name="email", type="string", length=255, nullable=true)
 *
 * @Serializer\Expose
 */
private $email;

/**
 * @var string
 *
 * @ORM\Column(name="fax", type="string", length=255, nullable=true)
 *
 * @Serializer\Expose
 */
private $fax;

//.....

person Tim Lieberman    schedule 05.08.2015    source источник


Ответы (1)


Попробуйте сначала выставить только свой идентификатор, чтобы проверить, есть ли у вас какой-либо ответ, затем, если у вас больше нет ошибок, я советую вам следовать документации, чтобы проверить свою конфигурацию: http://jmsyst.com/bundles/JMSSerializerBundle

person Sunitrams    schedule 05.08.2015
comment
В итоге я взял предыдущую версию этого объекта и заменил ею текущую версию. Теперь это работает. Я до сих пор не знаю, что с ним случилось. странный. - person Tim Lieberman; 05.08.2015
comment
Попробуйте посмотреть логи PHP: возможно, ошибка возникает до того, как вывод выводится на экран, но она все равно есть в логах. - person Aerendir; 19.08.2015