Bonjour à tous
J'aimerais créer une classe parente Utilisateur, qui aurait comme classes filles "Enseignant" et "Etudiant". Voici ma classe Utilisateur
J'aimerais donc avoir une table Utilisateur qui possèderait une colonne discriminante. Voici mes 2 classes filles :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <?php namespace App\Entity; use App\Repository\UtilisateurRepository; use Doctrine\ORM\Mapping as ORM; use App\Entity\Enseignant; use App\Entity\Etudiant; use Symfony\Component\Validator\Constraints as Assert; #[ORM\Entity(repositoryClass: UtilisateurRepository::class)] #[InheritanceType('JOINED')] #[DiscriminatorColumn(name: 'discr', type: 'string')] #[DiscriminatorMap([ 'enseignant' => Enseignant::class, 'etudiant' => Etudiant::class ])] class Utilisateur { .... }
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?php namespace App\Entity; use App\Repository\EnseignantRepository; use App\Entity\Utilisateur; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; #[ORM\Entity(repositoryClass: EnseignantRepository::class)] class Enseignant extends Utilisateur {... }Seulement voila, quand je fais ma migration, tout mon
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <?php namespace App\Entity; use App\Repository\EtudiantRepository; use App\Entity\Utilisateur; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; #[ORM\Entity(repositoryClass: EtudiantRepository::class)] class Etudiant extends Utilisateur {... ]ne semble pas lu. La colonne discriminante ne se cree pas, et aucune clé étrangère ne se crée. Par contre, mes filles ont bien les propriétés de la parente, mais du coup quand je cree un etudiant ca ne me cree pas l'utilisateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #[InheritanceType('JOINED')] #[DiscriminatorColumn(name: 'discr', type: 'string')] #[DiscriminatorMap([ 'enseignant' => Enseignant::class, 'etudiant' => Etudiant::class ])]
Donc pour l'instant la table utilisateur ne sert a rien. J'ai tout cherché je ne comprends pas d'ou le problème peut venir.
Merci pour votre aide
Partager