Bonjour, j'ai un problème avec deux entites que j'ai genéré avec le commandes symfony (v 5). J'ai une entité User qui peux être inscrit dans plusieurs formation, et une formation peut être choisie par plusieurs User. J'ai essayé plusieurs possiblités avec les cascade persiste ou le joinTable mais rien marche.
User.php
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $fechaQPago;
/**
* @ORM\Column(type="datetime")
*/
private $created_at;
/**
* @ORM\Column(type="string", length=1000)
*/
private $observaciones;
/**
* @ORM\ManyToMany(targetEntity=Formacion::class, mappedBy="alumnosInscritos")
*/
private $formacionesInscritas;
public function __construct()
{
$this->created_at = new \DateTime();
$this->formacionesInscritas = new ArrayCollection();
}
/**
* @return Collection<int, Formacion>
*/
public function getFormacionesInscritas(): Collection
{
return $this->formacionesInscritas;
}
public function addFormacionesInscrita(Formacion $formacionesInscrita): self
{
if (!$this->formacionesInscritas->contains($formacionesInscrita)) {
$this->formacionesInscritas[] = $formacionesInscrita;
$formacionesInscrita->addAlumnosInscrito($this);
}
return $this;
}
public function removeFormacionesInscrita(Formacion $formacionesInscrita): self
{
if ($this->formacionesInscritas->removeElement($formacionesInscrita)) {
$formacionesInscrita->removeAlumnosInscrito($this);
}
return $this;
}
Formation.php
/**
* @ORM\Column(type="string", length=255)
*/
private $profesor;
/**
* @ORM\Column(type="string")
*/
private $horario;
/**
* @ORM\ManyToMany(targetEntity=User::class, inversedBy="formacionesInscritas")
*/
private $alumnosInscritos;
public function __construct()
{
$this->alumnosInscritos = new ArrayCollection();
}
/**
* @return Collection<int, User>
*/
public function getAlumnosInscritos(): Collection
{
return $this->alumnosInscritos;
}
public function addAlumnosInscrito(User $alumnosInscrito): self
{
if (!$this->alumnosInscritos->contains($alumnosInscrito)) {
$this->alumnosInscritos[] = $alumnosInscrito;
}
return $this;
}
public function removeAlumnosInscrito(User $alumnosInscrito): self
{
$this->alumnosInscritos->removeElement($alumnosInscrito);
return $this;
}
Ce que je veux
Quelqu'un a rencotré ce problème et il/elle a trouvé la solution?
Ce que j'obtiens
Décrivez vos éventuelles erreurs ou ce que vous obtenez à la place de ce que vous attendez :(
Bonsoir Thomas,
Le update marche dans le sens de formations quand j'ajoute des users mais pas dans l'autre sens. C'est du à quoi à votre avis?
Merci d'avance
tu as un shema de bdd ?
tu peut me l'envoyer sur discord pour que je puisse regarder la juste avec du code c'est un peut chaud ^^
si tu as fait un table intermedaire c'est many to many
si tu as que deux table dans un seul sans c'est many to one
https://zestedesavoir.com/tutoriels/1713/doctrine-2-a-lassaut-de-lorm-phare-de-php/les-relations-avec-doctrine-2/relation-manytoone-et-onetomany-1-n/
ce tuto peut peut etre t'aider
j'ai vous ai pas trouvé au debut https://discord.gg/YufhJNAb
je viens de vous ai envoyé une invitation.