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 :

[Symfony] Question d'héritage [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2010
    Messages : 61
    Points : 42
    Points
    42
    Par défaut [Symfony] Question d'héritage
    Bonjour,

    Je suis actuellement en train de développer un site Internet sous Symfony 2 et je suis sur un point où j'ai besoin de votre avis afin de choisir la meilleure façon de développer.

    Contexte :

    Mon appli contient des articles de type A contenant certains attributs et des articles de type B en contenant d'autres. Les 2 types ont des attributs en commun donc je pensais les faire hériter d'un article type C.

    Jusque là, tout me parait logique. Par contre, sur ma homepage, je souhaite afficher les derniers 5 articles publiés, peut importe qu'il soit A ou B, tout ce qui m'intéresse c'est la date de publication qui sera donc contenu dans la classe de type C héritée.

    Est ce qu'il sera possible avec Symfony de faire un $entitymanager->getArticlesTypeC->orderBy(date,ascendant)->limit(5) ?

    Dans ce cas est ce que mon type C doit être un "mappedSuperclass" ou non ? En effet, je ne veut pas me retrouver à récupérer 5 objets de type A et 5 autres de type B pour ensuite comparer la date pour n'afficher que les 5 plus récent, ce n'est pas très pratique.

    Merci d'avance pour votre aide !

  2. #2
    Membre expérimenté Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Points : 1 310
    Points
    1 310
    Par défaut
    Salut !

    Si tu souhaites gérer ça avec Doctrine ce n'est pas vers les MappedSuperClasses qu'il faut te tourner.
    A mapped superclass cannot be an entity, it is not query-able
    Ta classe C devra être une entité pour être requêtable.
    Il ne te restera plus qu'à choisir quel type d'héritage (single table, joined etc.) pour déterminer de quelle manière sont stockées tes données.

    http://doctrine-orm.readthedocs.org/...le-inheritance

    À ce moment là, il sera possible de requêter directement sur l'entité C (parente) qui pourra te retourner des résultats de A et B confondus, qu'ils se trouvent dans la même table en BDD ou non.

    ++

  3. #3
    Membre du Club
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2010
    Messages : 61
    Points : 42
    Points
    42
    Par défaut
    Hello,

    Nickel merci, effectivement, ca marche parfaitement.

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

Discussions similaires

  1. question d'héritage multiple
    Par lao.patrick dans le forum C#
    Réponses: 2
    Dernier message: 02/05/2009, 11h52
  2. 2 questions sur héritage et require() distant
    Par ctrl+z dans le forum Langage
    Réponses: 8
    Dernier message: 06/01/2009, 08h42
  3. Question sur Héritage
    Par Moustico dans le forum C++/CLI
    Réponses: 6
    Dernier message: 03/01/2008, 19h27
  4. Question sur héritage
    Par Linkin dans le forum Delphi
    Réponses: 4
    Dernier message: 09/11/2006, 13h58
  5. Question d'héritage : Overload ou reintroduce ?
    Par LadyWasky dans le forum Langage
    Réponses: 9
    Dernier message: 31/10/2005, 13h07

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