Bonjour,
J'ai actuellement un souci pour représenter un héritage sur 2 niveau
- Le concept :
Je cherche à créer une "contrainte d'accès" composé de 2 dates (début et fin)
Une date peut être absolue (13 / 05 / 2013) ou relative (+ 20 jours).
Une date relative peut être soit en fonction d'une date d'inscription) soit en fonction d'une date de dernier message posté (etc..., etc...)
- Voici les classes :
Le souci avec ce code est que je n'ai pas mon discriminant (type) dans ma table date_relative.
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44 /** * @ORM\Entity * @ORM\Table(name="et_date") * @ORM\InheritanceType("JOINED") * @ORM\DiscriminatorColumn(name="type", type="string") * @ORM\DiscriminatorMap({"Relative" = "DateRelative", "Absolue" = "DateAbsolue"}) */ abstract class Date implements IDate { /** * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Column(type="integer") */ protected $id; } /** * @ORM\Entity * @ORM\Table(name="et_date_absolue") */ class DateAbsolue extends Date{} /** * @ORM\Entity * @ORM\Table(name="et_date_relative") * @ORM\InheritanceType("JOINED") * @ORM\DiscriminatorColumn(name="type", type="string") * @ORM\DiscriminatorMap({"Inscription" = "DateRelativeInscription", "Message" = "DateRelativeMessage"}) */ abstract class DateRelative extends Date implements IDateRelative{} /** * @ORM\Entity * @ORM\Table(name="et_date_relative_inscription") */ class DateRelativeInscription extends DateRelative{} /** * @ORM\Entity * @ORM\Table(name="et_date_relative_message") */ class DateRelativeMessage extends DateRelative{}
Je ne sais pas non plus si je suis sur la bonne voie et si c'est bien comme cela qu'il faut procéder.
D'avance merci,
Partager