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;
....
}
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;
    }
 
 
}
Dans mon application, tous les dossiers sont par défaut classique.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
$dossier=new Dossier();
Si dans son cycle de vie, un client émet un recourt judiciaire, ce Dossier doit passer en DossierJudiciaire
A ce stade là, je ne sais pas comment m'y prendre:
  1. Je récupère bien mon objet de type Dossier en Base de Données
  2. Je ne parvient pas à le convertir en DossierJudiciaire


Si quelqu'un a une autre solution que du SQL NATIF, elle est la bien venue