Voici ma problématique.
Je dois gérer des dossiers de différents types "Dossier Classique" et "Dossier Judiciaire" - Le dossier judiciare étant un héritage du dossier classique.
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
22
23 /** * @orm\Table(name="dossier") * @orm\Entity(repositoryClass="CPCOM\CPWebCommonBundle\Model\DossierRepository") * @orm\InheritanceType("JOINED") * @orm\DiscriminatorColumn(name="DOSSIERTYPE", type="string") * @orm\DiscriminatorMap({"DOSS" = "Dossier", "JUD" = "DossierJudiciaire"}) */ class Dossier { /** * Id de dossier * * @orm\Id * @orm\generatedValue(strategy="AUTO") * @orm\Column(type="bigint", nullable=false) * * @assert\NotBlank * @assert\MaxLength(15) */ protected $DOSID; .... }Dans mon application, tous les dossiers sont par défaut classique.
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
22
23
24
25
26
27
28
29
30 /** * @orm\Table(name="dossierjudiciaire") * @orm\Entity(repositoryClass="CPCOM\CPWebCommonBundle\Model\DossierRepository") */ class DossierJudiciaire extends Dossier { /** * DJUDREFERE * * @ORM\Column(type="string", length=32, nullable=true) * */ private $DJUDREFERE; public function __construct(){ } public function getDJUDREFERE() { return $this->DJUDREFERE; } public function setDJUDREFERE($DJUDREFERE) { $this->DJUDREFERE = $DJUDREFERE; } }
Si dans son cycle de vie, un client émet un recourt judiciaire, ce Dossier doit passer en DossierJudiciaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $dossier=new Dossier();
A ce stade là, je ne sais pas comment m'y prendre:
- Je récupère bien mon objet de type Dossier en Base de Données
- Je ne parvient pas à le convertir en DossierJudiciaire
Si quelqu'un a une autre solution que du SQL NATIF, elle est la bien venue
Partager