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

Doctrine2 PHP Discussion :

Attributs d'entités


Sujet :

Doctrine2 PHP

  1. #1
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2012
    Messages : 11
    Par défaut Attributs d'entités
    bonjour à tous,

    J'ai un soucis dans la conception et la compréhension des relations que peuvent avoir deux entités au sein de Symfony2.

    Je m'explique:

    j'ai deux entités : une entité on va dire "Article", et une entité "Type d'article" qui correspond tous les types d'articles possible et qui est un attribut de mon Article.

    En créant mon entité Article via la console j'ai la possibilité de déclarer l'attribut type_article soit en object ou soit en string.
    Si je le déclare en string j'annote mon entité Article avec une relation qui doit être OnetoOne. Mais si je choisis de le déclarer en Object je dois gérer comment la relation????

    tout ça en fait c'est que je ne vois pas bien comment gérer les choix multiples que peuvent entrainer les attributs d'une entité (dans l'exemple plusieurs types d'articles, etc)

    en vous remerciant d'avance pour vos lumières.

    Cordialement.

    Leuco974

  2. #2
    Membre éclairé Avatar de FadeToBlack
    Homme Profil pro
    ...
    Inscrit en
    Août 2010
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : ...
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2010
    Messages : 320
    Par défaut
    Salut,

    si je comprends bien ton idée, tu as une entité article et une entité Type_Article ?

    tout ça en fait c'est que je ne vois pas bien comment gérer les choix multiples que peuvent entrainer les attributs d'une entité (dans l'exemple plusieurs types d'articles, etc)
    Si je comprends bien cette phrase tu as pour un article plusieurs type d'article possible.

    Par extension, un type d'article peut être lié à plusieurs articles.....

    Est-ce que j'ai bon jusqu'ici ?

    En conclusion, tu n'as pas de relation OneToOne mais plutot ManyToMany ?

    Et à ce moment là tu crées des attributs ArrayCollection $TypeArticles dans Article et $articles dans Type_Article.

    Tu mets en relation avec le propriétaire que tu veux. Ensuite tu te retrouve avec une table de liaison Article_Type_Article.

  3. #3
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2012
    Messages : 11
    Par défaut
    oui effectivement un "type_article" peut être lié à plusieurs Articles. Je n'ai pas vu la relation sous cet angle, je vais revoir cette partie du cours.

    Par contre un Article ne peut être que d'un seul type_article.

    Maintenant ce qui me chiffonne c'est de comprendre si le type "object" d'un attribut sert dans une relation?? car moi lors de la generation de mon entité Article j'ai defini l'attribut $type_article comme type=object.

  4. #4
    Membre éclairé Avatar de FadeToBlack
    Homme Profil pro
    ...
    Inscrit en
    Août 2010
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : ...
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2010
    Messages : 320
    Par défaut
    Salut,

    Donc tu as une relation Article-----ManyToOne-----Type_Article

    Sinon, pour ton type d'attribut : Ce n'est pas un problème. Tu le changes en dure dans ton entité puis tu fais une mise à jour de ta base avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php app/console doctrine:schema:update --force
    Par ailleurs, sauf si tu veux une relation bi directionnelle, tu vas avoir un attributs $articles dans ton entité Type_Article avec $articles comme arrayCollection.

  5. #5
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2012
    Messages : 11
    Par défaut
    Merci FadeToBlack pour ton aide

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

Discussions similaires

  1. Attributs d'entité
    Par brinsikh dans le forum Doctrine2
    Réponses: 1
    Dernier message: 28/03/2013, 08h46
  2. [MCD] Chemin de fichiers comme attribut d'entité
    Par menas dans le forum Schéma
    Réponses: 14
    Dernier message: 12/04/2010, 10h24
  3. [MCD] attribut ou entité
    Par max87 dans le forum Schéma
    Réponses: 6
    Dernier message: 23/12/2009, 16h02
  4. [Modèle Relationnel] Choix entre attribut ou entité
    Par looping dans le forum Schéma
    Réponses: 4
    Dernier message: 03/04/2009, 16h07
  5. [MCD] Attribut ou entité?
    Par Anonymouse dans le forum Schéma
    Réponses: 2
    Dernier message: 24/04/2008, 08h57

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