This doesn't seem to be a doctrine-related questions, but rather something
for the serialisation layer/library you rely upon.

On Wed, 26 Dec 2018, 14:53 Jose Julian <[email protected] wrote:

> Hi, i use Donctrine 2.6.3 on a symfony 4.2 proyect(REST API).
> and i have som trouble with some json generated
> Theres is 2 basic entities :
>
> class Usuarios{
>
>     /**
>      * @var int
>      *
>      * @ORM\Column(name="dni", type="integer", nullable=false)
>      * @ORM\Id
>      * @ORM\GeneratedValue(strategy="IDENTITY")
>      */
>     private $dni;
>     /**
>      * @var string
>      *
>      * @ORM\Column(name="nyape", type="string", length=30, nullable=false)
>      */
>     private $nyape;
>
>     public function getDni(): ?int{
>         return $this->dni;
>     }
>
>     public function getNyape(): ?string{
>         return $this->nyape;
>     }
>
>     public function setNyape(string $nyape): self{
>
>         $this->nyape = $nyape;
>         return $this;
>     }
>
>      /**
>      * @ORM\OneToMany(targetEntity="Infracciones", mappedBy="dni", 
> cascade={"all"})
>      * @var Doctrine\Common\Collection\ArrayCollection
>      */
>     private $infracciones;
>
>
> }
>
>
> class Infracciones{
>     /**
>      * @var int
>      *
>      * @ORM\Column(name="nro_infraccion", type="integer", nullable=false)
>      * @ORM\Id
>      * @ORM\GeneratedValue(strategy="IDENTITY")
>      */
>     private $nroInfraccion;
>
>     /**
>      * @var float
>      *
>      * @ORM\Column(name="monto", type="float", precision=10, scale=0, 
> nullable=false)
>      */
>     private $monto;
>
>     /**
>      * @var \Usuarios
>      *
>      * @ORM\ManyToOne(targetEntity="Usuarios", inversedBy="infracciones")
>      * @ORM\JoinColumns({
>      *   @ORM\JoinColumn(name="dni", referencedColumnName="dni")
>      * })
>      */
>     private $dni;
>
>     public function getNroInfraccion(): ?int{
>         return $this->nroInfraccion;
>     }
>
>     public function getMonto(): ?float{
>         return $this->monto;
>     }
>
>     public function setMonto(float $monto): self{
>         $this->monto = $monto;
>         return $this;
>     }
>
>     public function getDni(): ?Usuarios{
>         return $this->dni;
>     }
>
>     public function setDni(?Usuarios $dni): self{
>         $this->dni = $dni;
>         return $this;
>     }
>
>
> }
>
>
> In some controller there is a method:
>
>
> public function searchInfraccionesDeUsuarioPorDniV2($dni){
>
>
>     $entityManager = $this->getDoctrine()->getEntityManager();
>     $query = $entityManager->createQuery('SELECT u,i
>
>                  FROM App\Entity\Infracciones u
>
>                  JOIN u.dni i where i.dni=11111111');
>
>     $usuarios = $query->getArrayResult();
>
>     $response = new Response();
>     $response->headers->set('Content-Type', 'application/json');
>     $response->setContent(json_encode($usuarios));
>
>     return $response;
>
>
> }
>
>
> This generate ths json :
>
> [
> {
>   "nroInfraccion":1,
>   "monto":11,
>   "dni":{
>          "dni":11111111,
>          "nyape":"Lucas"
>
>         }
> },
> {
>   "nroInfraccion":2,
>   "monto":22,
>   "dni":{
>           "dni":11111111,
>           "nyape":"Lucas"
>         }
> }
> ]
>
>
> It's not what i need.
> I need this json format:
> { "dni":11111111, "nyape":"Lucas", "infracciones":[ { "nroInfraccion":1,
> "monto":11 }, { "nroInfraccion":2, "monto":22 } ] }
>
> I think that there's a problem with the owner of the
> relation(mappedby?inverdedby?).
> Is it a problem with the join?
> How can a reverse the owner of a relation?
>
> Thank you in advance.
> Julian
>
> --
> You received this message because you are subscribed to the Google Groups
> "doctrine-user" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/doctrine-user.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"doctrine-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/doctrine-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to