Bonjour à tous.

J'ai une petite question très particulière. J'aimerais créer un système de jointure très particulier et voici un exemple :

J'ai un blog, et une table Post contenant des informations pour mon site internet :

Post : 
Id
Title
Content
Created
Updated
Published

Maintenant j'ai une table diaporama :

Diaporama :
Id
Title
Order
Created
Updated
Published

Et là je veux faire une jointure d'une table media avec mes deux tables et voilà l'idée :

J'ai une table de médias :

Media :
Id
Name
Link
Type
Created
Updated

Et maintenant voilà ma table de jointure :

Table_Media_Relation :
Id
Entity
Entity_id
Media_id

Ici, Entity est le nom de l’entité qui fait la jointure et Entity_id l'élément de cette entité.

J'aimerais surtout savoir comment réaliser un système de jointure qui automatise ceci ? Et que Doctrine puisse lui même se charger des récupérations.

Merci d'avance !!

1 réponse


Salut !

Si j'ai bien compris, le soucis est que : ça n'est pas clair.

En gros, tu as quelles entités ? On parle ORM, donc les tables créées derrière, on s'en moque. Oublie les *_id.

J'ai l'impression de comprendre que tu veux lier un média à n'importe quoi... du coup, je ne comprend pas.

Par ailleurs, un diaporama me semble être un média mais tu stock la même chose dans media et dans diapo, du coup je n'arrive pas à te suivre. Pourrais tu faire un petit schema simplifié de ce à quoi tu veux arriver en terme d'entité et de liaison.

Par exemple, j'ai l'impression que tu veux faire ça :

Post <ManyToMany> Media <OneToMany> Diaporama

Mais je ne comprends pas trop.

PS : Faut vraiment que je fasse les tutos sur les relations Doctrine :')