Salut à tous !
J'ai un soucis, j'ai une class mère Airline et j'aimerai créer une classe fille AirlineCourtCourrier qui hérite de la classe mère Airline.
Le problème c'est que lorsque je fais un : doctrine:schema:update --dump-sql, j'ai le doit à l'erreur suivante : La table sdm_airline existe déjà. Le problème c'est que je veux utiliser cette table pour ma classe fille et non pas dupliquer dans ma base.
Toutes mes entités ont été généré avec doctrine.
Mon code de la classe mère Airline :
Ma classe fille AirlineCourtCourrier :
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156 <?php namespace Sds\AirlineBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Symfony\Component\Validator\Constraints as Assert; use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; /** * Sds\AirlineBundle\Entity\Airline * * @ORM\Table(name="sdm_airline") * @ORM\Entity(repositoryClass="Sds\AirlineBundle\Entity\AirlineRepository") * * @UniqueEntity(fields="airline_nom") */ abstract class Airline { /** * @var integer $airline_id * * @ORM\Column(name="airline_id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ protected $airline_id; /** * @var string $airline_nom * * @ORM\Column(name="airline_nom", type="string", length=255, unique=true) */ protected $airline_nom; /** * @var integer $airline_type * * @ORM\Column(name="airline_type", type="integer") */ protected $airline_type; /** * @var date $airline_date_creation * * @ORM\Column(name="airline_date_creation", type="date") * @Assert\DateTime() */ protected $airline_date_creation; /** * @var float $airline_experience * * @ORM\Column(name="airline_experience", type="float", precision=2) */ protected $airline_experience; public function __construct() { $this->airline_date_creation = new \Datetime(); $this->airline_experience = 0; } /** * Get id * * @return integer */ public function getAirlineId() { return $this->airline_id; } /** * Set airline_nom * * @param string $airlineNom */ public function setAirlineNom($airlineNom) { $this->airline_nom = $airlineNom; } /** * Get airline_nom * * @return string */ public function getAirlineNom() { return $this->airline_nom; } /** * Set airline_type * * @param integer $airlineType */ public function setAirlineType($airlineType) { $this->airline_type = $airlineType; } /** * Get airline_type * * @return integer */ public function getAirlineType() { return $this->airline_type; } /** * Set airline_date_creation * * @param \Datetime $airlineDateCreation */ public function setAirlineDateCreation($airlineDateCreation) { $this->airline_date_creation = $airlineDateCreation; } /** * Get airline_date_creation * * @return date */ public function getAirlineDateCreation() { return $this->airline_date_creation; } /** * Set airline_experience * * @param float $airlineExperience */ public function setAirlineExperience($airlineExperience) { $this->airline_experience = $airlineExperience; } /** * Get airline_experience * * @return float */ public function getAirlineExperience() { return $this->airline_experience; } }
Si quelqu'un a une idée pour m'expliquer comment créer des class étendue, pour simplement utiliser des fonctions spécifiques à ces entités, sans avoir à dupliquer la base ou autre.
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 // src/Sds/AirlineBundle/Entity/AirlineCourtCourrier.php namespace Sds\AirlineBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Sds\AirlineBundle\Entity\Airline as BaseAirline; /** * @ORM\Table(name="sdm_airline") * @ORM\Entity */ class AirlineCourtCourrier extends BaseAirline { }
Partager