Pergunta

Esperamos que esta é uma pergunta boba, mas meu cérebro está frito e eu não consigo pensar em como fazê-lo agora.

Estou brincando tentando fazer uma coisinha de rede social e terá de manter o controle de "seguidores" de uma pessoa. Eu tenho uma tabela de usuário já fez, mas como faço para representar a idéia de usuários a ser associado com o outro? Esta é uma relação de uma forma btw, por isso, se pessoa um "gosta" pessoa b, o inverso não é necessariamente verdadeiro.

A única coisa que eu posso pensar é uma tabela que só tem uma lista de um-para-um, assim:

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

mas isso parece fora para mim.

Graças

Simon

edit: talvez um seguidor no twitter é mais análogo ao que eu estou tentando fazer

Foi útil?

Solução

Criar uma tabela que detém apenas seguidor informações id assim:

user_id | follower_id

Isso deve ser ele. de modo a ter, por exemplo, usuário # 56.

ele provavelmente tem linhas como este na tabela de seguidor:

56 | 53453
56 | 323
56 | 463

Basta adicionar uma restrição exclusiva em ambas as colunas de modo que ele não pode amigo alguém duas vezes.

Outras dicas

Talvez uma tabela que se parece com:

RelationshipId    Follower Target
Int               Int      Int

Onde Seguidor é o ID do UserA, e Target é o Id de UserB e UserA é seguir UserB.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top