You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello everybody,
I have this three following entity
`<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use ApiPlatform\Metadata\ApiResource;
use App\Repository\ProduitRepository;
use Doctrine\Common\Collections\Collection;
use Doctrine\Common\Collections\ArrayCollection;
use Symfony\Component\Serializer\Annotation\Groups;
#[ORM\Column(length: 255)]
#[Groups(['produit:lecture', 'produit:ecriture'])]
private ?string $nom = null;
#[ORM\Column(length: 255)]
#[Groups(['produit:lecture', 'produit:ecriture'])]
private ?string $prix = null;
#[ORM\OneToMany(targetEntity: ProduitPrix::class, mappedBy: 'produit', orphanRemoval: true, cascade:["persist", "remove"])]
#[Groups(['produit:lecture:p', 'produit:ecriture:p'])]
private Collection $produitPrixes;
#[ORM\OneToMany(targetEntity: CompositionProduit::class, mappedBy: 'produits', cascade:["persist", "remove"])]
#[Groups(['produit:lecture:l', 'produit:ecriture:l'])]
private Collection $compositionProduits;
public function __construct()
{
$this->produitPrixes = new ArrayCollection();
$this->compositionProduits = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getNom(): ?string
{
return $this->nom;
}
public function setNom(string $nom): static
{
$this->nom = $nom;
return $this;
}
public function getPrix(): ?string
{
return $this->prix;
}
public function setPrix(string $prix): static
{
$this->prix = $prix;
return $this;
}
/**
* @return Collection<int, ProduitPrix>
*/
public function getProduitPrixes(): Collection
{
return $this->produitPrixes;
}
public function addProduitPrix(ProduitPrix $produitPrix): static
{
if (!$this->produitPrixes->contains($produitPrix)) {
$this->produitPrixes->add($produitPrix);
$produitPrix->setProduit($this);
}
return $this;
}
public function removeProduitPrix(ProduitPrix $produitPrix): static
{
if ($this->produitPrixes->removeElement($produitPrix)) {
// set the owning side to null (unless already changed)
if ($produitPrix->getProduit() === $this) {
$produitPrix->setProduit(null);
}
}
return $this;
}
/**
* @return Collection<int, compositionProduit>
*/
public function getCompositionProduits(): Collection
{
return $this->compositionProduits;
}
public function addCompositionProduits(CompositionProduit $compositionProduit): static
{
if (!$this->compositionProduits->contains($compositionProduit)) {
$this->compositionProduits->add($compositionProduit);
$compositionProduit->setProduits($this);
}
return $this;
}
public function removeCompositionProduits(CompositionProduit $compositionProduit): static
{
if ($this->compositionProduits->removeElement($compositionProduit)) {
// set the owning side to null (unless already changed)
if ($compositionProduit->getProduits() === $this) {
$compositionProduit->setProduits(null);
}
}
return $this;
}
} <?php
namespace App\Entity;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use ApiPlatform\Metadata\ApiResource;
use App\Repository\ProduitPrixRepository;
use Symfony\Component\Serializer\Annotation\Groups;
#[ORM\Column]
#[Groups(['produit:lecture:p', 'produit:ecriture:p'])]
private ?int $quantite = null;
#[ORM\Column(type: Types::DECIMAL, precision: 10, scale: 2)]
#[Groups(['produit:lecture:p', 'produit:ecriture:p'])]
private ?string $prix = null;
#[ORM\ManyToOne(inversedBy: 'produitPrixes')]
#[ORM\JoinColumn(nullable: false, name: 'id_produit', onDelete: 'CASCADE')]
private ?Produit $produit = null;
#[ORM\ManyToOne]
#[ORM\JoinColumn(nullable: false)]
#[Groups(['produit:lecture:p', 'produit:ecriture:p'])]
private ?Unite $unite = null;
public function getId(): ?int
{
return $this->id;
}
public function getQuantite(): ?int
{
return $this->quantite;
}
public function setQuantite(int $quantite): static
{
$this->quantite = $quantite;
return $this;
}
public function getPrix(): ?string
{
return $this->prix;
}
public function setPrix(string $prix): static
{
$this->prix = $prix;
return $this;
}
public function getProduit(): ?Produit
{
return $this->produit;
}
public function setProduit(?Produit $produit): static
{
$this->produit = $produit;
return $this;
}
public function getUnite(): ?Unite
{
return $this->unite;
}
public function setUnite(?Unite $unite): static
{
$this->unite = $unite;
return $this;
}
} <?php
namespace App\Entity;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use ApiPlatform\Metadata\ApiResource;
use App\Repository\CompositionProduitRepository;
use Symfony\Component\Serializer\Annotation\Groups;
Hello everybody,
I have this three following entity
`<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use ApiPlatform\Metadata\ApiResource;
use App\Repository\ProduitRepository;
use Doctrine\Common\Collections\Collection;
use Doctrine\Common\Collections\ArrayCollection;
use Symfony\Component\Serializer\Annotation\Groups;
#[ORM\Entity(repositoryClass: ProduitRepository::class)]
#[ApiResource(
normalizationContext:['groups' => [
'produit:lecture',
]],
denormalizationContext:['groups' => [
'produit:ecriture',
'produit:ecriture:p',
'produit:ecriture:l'
]],
)]
class Produit
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
}
<?php
namespace App\Entity;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use ApiPlatform\Metadata\ApiResource;
use App\Repository\ProduitPrixRepository;
use Symfony\Component\Serializer\Annotation\Groups;
#[ORM\Entity(repositoryClass: ProduitPrixRepository::class)]
#[ApiResource()]
class ProduitPrix
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
}
<?php
namespace App\Entity;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use ApiPlatform\Metadata\ApiResource;
use App\Repository\CompositionProduitRepository;
use Symfony\Component\Serializer\Annotation\Groups;
#[ORM\Entity(repositoryClass: CompositionProduitRepository::class)]
#[ApiResource(
normalizationContext:['groups' => [
'l_produit:lecture'
]],
denormalizationContext:['groups' => [
'l_produit:ecriture'
]],
)]
class CompositionProduit
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
}
`
I get this following example diagram
{ "nom": "string", "prix": "string", "produitPrixes": [ { "quantite": 0, "prix": "string", "unite": "https://example.com/" } ], "compositionProduits": [ { "quantite": "string", "produitprix": { "quantite": 0, "prix": "string", "unite": "https://example.com/" } } ] }
but instead I would like to get this one
{ "nom": "string", "prix": "string", "produitPrixes": [ { "quantite": 0, "prix": "string", "unite": "https://example.com/" } ], "compositionProduits": [ { "quantite": "string", "produitprix": "https://example.com/" } ] }
what from my codes I must modify to obtain this diagram.
The text was updated successfully, but these errors were encountered: