У меня есть несколько форм через тип коллекции, я не могу найти решение этой ошибки:
Когда я изменяю некоторые данные в моей форме, я не вижу ошибок. Но на панели инструментов показывает это
Ассоциация App \ Entity \ Classe # matieres относится к обратной стороне
поле App \ Entity \ Matiere # классы, которых не существует.
Это архитектура:
Класс содержит как минимум один материал.
Любая помощь, вы будете велики =)
Смотрите мои классы:
<?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\ClasseRepository")
*/
class Classe
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $nom;
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Matiere", inversedBy="classes")
*/
private $matieres;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Etablissement", inversedBy="classe")
*/
private $etablissement;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="classes")
*/
private $user;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $serie;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $specialite;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $manuels_exists_coming;
public function __construct()
{
$this->matieres = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getNom(): ?string
{
return $this->nom;
}
public function setNom(string $nom): self
{
$this->nom = $nom;
return $this;
}
/**
* @return Collection|Matiere[]
*/
public function getMatieres(): Collection
{
return $this->matieres;
}
public function addMatiere(Matiere $matiere): self
{
if (!$this->matieres->contains($matiere)) {
$this->matieres[] = $matiere;
}
return $this;
}
public function removeMatiere(Matiere $matiere): self
{
if ($this->matieres->contains($matiere)) {
$this->matieres->removeElement($matiere);
}
return $this;
}
public function getEtablissement(): ?Etablissement
{
return $this->etablissement;
}
public function setEtablissement(?Etablissement $etablissement): self
{
$this->etablissement = $etablissement;
return $this;
}
public function __toString()
{
return $this->getNom();
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
public function getSerie(): ?string
{
return $this->serie;
}
public function setSerie(?string $serie): self
{
$this->serie = $serie;
return $this;
}
public function getSpecialite(): ?string
{
return $this->specialite;
}
public function setSpecialite(?string $specialite): self
{
$this->specialite = $specialite;
return $this;
}
public function getManuelsExistsComing(): ?string
{
return $this->manuels_exists_coming;
}
public function setManuelsExistsComing(?string $manuels_exists_coming): self
{
$this->manuels_exists_coming = $manuels_exists_coming;
return $this;
}
}
и
<?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\MatiereRepository")
*/
class Matiere
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $nom;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $statut;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Ressource", mappedBy="matiere")
*/
private $ressources;
public function __construct()
{
$this->ressources = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getNom(): ?string
{
return $this->nom;
}
public function setNom(?string $nom): self
{
$this->nom = $nom;
return $this;
}
public function getStatut(): ?string
{
return $this->statut;
}
public function setStatut(string $statut): self
{
$this->statut = $statut;
return $this;
}
public function __toString()
{
return $this->getNom();
}
/**
* @return Collection|Ressource[]
*/
public function getRessources(): Collection
{
return $this->ressources;
}
public function addRessource(Ressource $ressource): self
{
if (!$this->ressources->contains($ressource)) {
$this->ressources[] = $ressource;
$ressource->setMatiere($this);
}
return $this;
}
public function removeRessource(Ressource $ressource): self
{
if ($this->ressources->contains($ressource)) {
$this->ressources->removeElement($ressource);
// set the owning side to null (unless already changed)
if ($ressource->getMatiere() === $this) {
$ressource->setMatiere(null);
}
}
return $this;
}
}