Question

J'espère que c'est une question idiote, mais mon cerveau est frit et je ne vois pas comment le faire maintenant.

Je déconne d'essayer de créer un truc de réseau social et devra garder la trace des "suiveurs" d'une personne. J'ai déjà créé une table d'utilisateurs, mais comment puis-je représenter l'idée d'associer des utilisateurs les uns aux autres? C’est une relation à sens unique, donc si une personne aime / aime personne b, l’inverse n’est pas forcément vrai.

La seule chose à laquelle je puisse penser est un tableau qui ne contient qu'une liste de relations individuelles, donc:

user a -> user b  
user a -> user c  
user a -> user d  
user b -> user d  
user b -> user c  
...  

mais cela me semble.

Merci

Simon

modifier: peut-être qu'un suiveur sur Twitter est plus analogue à ce que j'essaie de faire

Était-ce utile?

La solution

Créez une table contenant uniquement les informations sur l'ID suiveur, comme suit:

id_utilisateur | follower_id

Cela devrait être ça. alors prenons par exemple l'utilisateur # 56.

il aurait probablement des lignes comme celle-ci dans la table suivante:

56 | 53453
56 | 323
56 | 463

Ajoutez simplement une contrainte unique sur les deux colonnes afin qu'il ne puisse pas contacter deux fois quelqu'un.

Autres conseils

Peut-être un tableau qui ressemble à:

RelationshipId    Follower Target
Int               Int      Int

Où Follower est l'identifiant de l'utilisateurA, et cible est l'identifiant de l'utilisateurB, et l'utilisateurA suit l'utilisateurB.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top