IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

class extends [2.x]


Sujet :

Symfony PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 35
    Points : 29
    Points
    29
    Par défaut class extends
    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 :

    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;
        }
    }
    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
     
    <?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
    {
     
    }
    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.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    Bonjour,

    As tu consulté la doc sur les différentes stratégies d'héritage dans Doctrine?
    http://docs.doctrine-project.org/pro...le-inheritance

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 35
    Points : 29
    Points
    29
    Par défaut
    Non désolé, je n'avais pas trouvé ce lien ... En tous les cas merci beaucoup c'est exactement ce que je cherchais.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. actionscript : class extends xml
    Par pierre-y dans le forum ActionScript 1 & ActionScript 2
    Réponses: 3
    Dernier message: 18/02/2008, 11h50
  2. [Swing]Affichage classe extends JPanel
    Par Quentin D dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 03/08/2007, 12h58
  3. pb avec une classe extends JPanel
    Par thecancre dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 11/05/2006, 18h45
  4. class , extends....
    Par maminova dans le forum Langage
    Réponses: 10
    Dernier message: 17/10/2005, 13h51
  5. [AS2] durée de vie d'une classe (extends movieclip)
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 23/07/2005, 13h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo