У меня есть лица; Command, User, GiftCheck и GiftCheckType:
GiftCheck
<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\GiftCheckRepository")
*/
class GiftCheck
{
/**
* @ORM\Id()
* @ORM\Column(type="integer", length=255)
*@ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="string", length=255, columnDefinition="ENUM('Cadeau', 'Anniversaire', ' Nôel', 'Saint Valentain ')")
*/
private $theme;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="giftChecks")
*/
private $User;
/**
* @ORM\Column(type="string", length=255)
*/
private $uniqueSerialId;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Command", inversedBy="giftChecks")
* @ORM\JoinColumn(nullable=false)
*/
private $command;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\GiftCheckType", inversedBy="gift")
*/
private $giftCheckType;
Пользователь
<?php
namespace App\Entity;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
use FOS\UserBundle\Model\UserInterface;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
* @UniqueEntity("email")
* @UniqueEntity("username")
* @UniqueEntity("tel")
*/
class User extends BaseUser
{
/**
* @ORM\Id
*@ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(type="integer")
*/
protected $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $firstname;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Command", mappedBy="user")
*/
private $commands;
/**
* @ORM\OneToMany(targetEntity="App\Entity\GiftCheck", mappedBy="User")
*/
private $giftChecks;
Команда
<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\CommandRepository")
*/
class Command
{
/**
* @ORM\Id()
* @ORM\Column(type="string", length=255)
*/
private $id;
/**
* @ORM\Column(type="float")
*/
private $price;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="commands")
* @ORM\JoinColumn(nullable=true, onDelete="CASCADE")
*/
private $user;
/**
* @ORM\OneToMany(targetEntity="App\Entity\CommandLine", mappedBy="command")
*/
private $commandLines;
/**
* @ORM\Column(type="string", length=255)
*/
private $status;
/**
* @ORM\OneToMany(targetEntity="App\Entity\GiftCheck", mappedBy="command")
*/
private $giftChecks;
GiftCheckType
<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\GiftCheckTypeRepository")
*/
class GiftCheckType
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $designation;
/**
* @ORM\OneToMany(targetEntity="App\Entity\GiftCheck", mappedBy="giftCheckType")
*/
private $gift;
/**
* @ORM\Column(type="string", length=255)
*/
private $type;
Я обнаружил, что столкнулся с проблемой, когда я пытаюсь получить данные моей команды, я получил вложенное json объект (как дочерние / родительские / дочерние структуры одного и того же объекта), которые содержат массив giftchecks, каждый giftcheck содержит пользовательский объект, который имеет тот же список giftchecks, два изображения ниже описывают статус этого вложенного JSON в браузере Журнал консоли при получении результата с angular:
- это та проблема, связанная с отсутствием сериализации на моем сущности или идущие с другой стороны? мои отношения сущностей правильно закодированы?