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 :

Symfony2 - problème d'heritage de table


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 30
    Par défaut Symfony2 - problème d'heritage de table
    Bonjour.

    J'aimerais développé un site d'annonce immobilière en symfony2.

    Dans ma conception j'ai une entité AnnonceImo(...nbrePiece, surface, cuisine, salleBain, foyer,...)

    qui comporte plusieurs champs spécifique à chaque type de bien (maison, terrain...).

    Le type de bien terrain par exemple n'a pas besoin des champs (nbrePiece, cuisine, salleBain, foyer).

    Problème: A la création d'une annonce de terrain par exemple, comment faire pour n'avoir que les champs le concernant.

    Pour essayer de résoudre ce problème, j'ai tenter l'héritage en doctrine.
    Mais je ne comprend pas son fonctionnement.

    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
     
    /**
     *
     * @ORM\Entity
     * @ORM\InheritanceType("JOINED")
     * @ORM\DiscriminatorColumn(name="discr", type="string")
     * @ORM\DiscriminatorMap({"annonceImmo " = "AnnonceImmo ", "terrain" = "Terrain", "maison" = "Maison"})
     */
    class AnnonceImmo
    {
        /**
         * @var integer
         *
         * @ORM\Column(name="id", type="integer")
         * @ORM\Id
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        private $id;
     
        /**
         * @var string
         *
         * @ORM\Column(name="title", type="string", length=100)
         */
        private $title;
        //..
    }
     
    class Terrain  extends AnnonceImmo{
        /**
         * @var integer
         *
         * @ORM\Column(name="id", type="integer")
         * @ORM\Id
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        private $id;
     
        /**
         * @var integer
         *
         * @ORM\Column(name="terrain_surface", type="integer")
         */
        private $surface;
        //...
    }
    Je constate qu'il aura autant d'entité que de type de bien et alors autant de formulaire.

    Alors que j'espère comme fonctionnement:
    • Un seul formulaire d'enregistrement d'annonce immobiliere.

    • Quand on va choisir le type de bien terrain par exemple, cela n'affichera que le champ surface c'est-à-dire un formulaire dynamique selon le type de bien.


    Voilà en gros mon souci. Est -ce possible?

    Merci pour vos conseils.

  2. #2
    Membre émérite
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 552
    Par défaut
    Bonjour,

    Dans ton cas, je pense que tu ferais bien de te concentrer sur du "Single Table Inheritance".

    Tu as alors une classe de base AbstractAnnonce avec les attributs communs, les classes dérivées (Terrain, Appartement, Maison, etc.) ont des attributs supplémentaires. Toutefois, la table physique possède l'ensemble des attributs (si bien que tu évites les jointures).

Discussions similaires

  1. [ZEOSLIB] Problème Insertion dans une table
    Par moscovisci dans le forum Bases de données
    Réponses: 1
    Dernier message: 09/06/2005, 12h05
  2. Problème de jointure de tables
    Par AurelBUD dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/04/2005, 16h27
  3. [ADO] [MSACCESS] Problème d'accès à une table nommée OF
    Par FredRaid dans le forum Bases de données
    Réponses: 3
    Dernier message: 15/02/2005, 17h22
  4. Problème de conceptions de tables
    Par dtavan dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/05/2004, 23h13
  5. Problème de création de table sous MySql
    Par ducamba dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/06/2003, 09h59

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