J'ai crée une relation ManyToMany pour les entités roles et personnes. Cela génère une nouvelle table named as role_people_season. Cela fonctionne bien.
Et je souhaiterais créer une autre ManyToMany pour les entités saisons et personnes.
Serait-il possible de rajouter un champ dans la même table role_people_season ?
Cette table devrait donc contenir 3 champs role_id, people_id, seasons_id
Plusieurs joueurs ont plusieurs saisons
plusieurs saisons ont plusieurs joueurs
plusieurs joueurs ont plusieurs roles
plusieurs roles ont plusieurs joueurs
L'erreur me retourne suivant:
The table with name 'sf4.people_role_season' already exists.
Désolé pour mon message qui ne vous semble pas très clair. Désolé, je ne suis pas très écrivain mais plutôt pragmatique. C'est pourquoi je préférerais montrer le code.
Bref, j'essaie de comprendre votre explication concernant la modification de table.
vous voulez dire ci-dessous ?
ALTER TABLE nom_table
ADD nom_colonne type_donnees
pouvez-vous m'expliquer ceci? qu'est ce qui est troisième?
Il n'y a que la troisième dont la formulation est correcte.
Sur quatre des explications des relations entre les tables, il n'y en a qu'une que je n'ai pas listé dans ma remarque, la seule est donc la troisième dans ton message.
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Je voulais afficher recevant et cela me retourne l'erreur
An exception has been thrown during the rendering of a template ("Catchable Fatal Error: Object of class Doctrine\ORM\PersistentCollection could not be converted to string").
L'erreur te dit que c'est déjà un(e forme de) tableau, donc pas besoin de re-convertir.
Par contre, je ne pense pas que tes relations doivent être des ManyToMany. Un match a une équipe qui joue à domicile et une qui joue comme visiteur (deux relations différentes), et ces équipes peuvent jouer plusieurs matches, donc ce sont des Many(Match)ToOne(Equipe) (et à l'inverse One(Equipe)ToMany(Match)). A moins que tu puisses avoir deux équipes (ou plus) à domicile et deux (ou plus) visiteurs par matches !?
Attention : tout comme tu as deux propriétés dans Match, tu en auras deux aussi dans Equipe. Sans entité intermédiaire concrète, je ne pense pas que tu puisses mapper deux relations (matches joué à domicile et en tant que visiteurs) sur une seule propriété.
Oui, je crois même d'ailleurs l'avoir expliquée : deux propriétés dans Match, une pour l'équipe à domicile et une pour l'équipe en visite. Similairement, dans l'entité Equipe, une propriété pour les matches à domicile et une autre pour les matches où ils étaient visiteurs…
Doctrine ne récupère pas automatiquement tout de suite toutes les données de toutes les entités liées à une autre, cependant y accéder permettra bien de récupérer les données (en arrière-plan, une requête sera lancée).
Comment accéderais-tu à l'équipe jouant les locaux pour un match ? Similairement, comment accéderais-tu à l'équipe jouant les invitées pour un match ? Déjà en PHP, après adapter pour Twig n'est pas trop difficile.
Ça ce n'est pas comment y accéder, mais comment les enregistrer/créer.
Tu as une instance d'un objet Match avec toutes les données dans ton code PHP. Comment fais-tu pour afficher les données (donc y accéder) des locaux et des invités ?
Disons que tu as une variable $match, instance d'un objet Match, dans un code PHP. Comment est-ce que tu fais pour mettre dans une autre variable $visiteur l'équipe qui était visiteur pour ce match ? Sans que tu aies à coder de requête supplémentaire où que ce soit.
C'est important, c'est une question de structure de données. Si tu ne sais pas comment sont organisées tes données entre elles (donc les relations entre tes entités et ce que tu peux en faire), déjà je ne comprendrais pas comment tu as pu créer tes entités, et ensuite je ne sais pas comment tu vas les utiliser. Et si c'est vraiment là le problème, je dirais que tu es allé un peu vite en besogne en t'attelant à Symfony.
J'ai dit "mettre dans une autre variable", mais du coup on peut aussi afficher. Bref, on accède aux données depuis $match qui est un objet Match, en programmation orienté objet on parle d'instance de (la classe) Match.
Je n'arrive pas à expliquer, et ce n'est pas une histoire de code, mais une question de concept.
Pour accéder au titre du recevant en PHP, tu ferais $match->getRecevant()->getTitle(). Et pour afficher dans Twig : {{ match.recevant.title }}, par exemple. Similairement pour l'équipe reçue.
Souvent, j'ai du mal à comprendre des trucs abstraits. c'est difficile pour moi.
Encore merci pour votre patience et votre code.
Là, je comprends mieux le code que les explications lol
bonne journée
[Symfony 4] générer une table avec 2 relations MtM
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.