Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá Pessoal, tudo bem com vocês?
Estou criando um sistema no qual eu preciso saber quais os amigos em comum que eu possuo com o usuário no qual eu acessei o perfil, estilo ao facebook.
Tenho uma tabela com os dados do usuário:
id, nome, email
Na outra tabela o ID dos usuários da relação de amizade
id, id_usuario_seguidor, id_usuario_segue
Não estou conseguindo fazer essa relação de amigos em comum.
Quero saber como eu faço para quando eu acessar o perfil de um determinado usuário ele aparecer, Você possui X usúarios em comum.
Obrigado.
Eu achei uma query parecida, só que essa query abaixo na explicação diz:
"o carinha do ID 1 é amigo do 2, 3, 4 e 5. E por sua vez o 2, 3 e 4 são amigos do 10. Sendo este um desconhecido pra você até então, seria este 10 um possível amigo seu? Bem, a lógica apresentada, foi justamente essa, quando 3 ou mais amigos possuem um amigo em comum, que ainda não é meu amigo, então este é um provável amigo meu."
Se alguem ajuda-se e me desse uma idéia de como eu adapto essa query para que ela liste apenas os amigos em comum que eu tenho com o usuário, ou seja, eu sou amigo do usuário 10 e esse usuário no qual estou visitando o perfil também é amigo do usuário 10 então isso me retornaria o valor de 1 amigo em comum.
SELECT amigos_de_amigos.id_amigo
FROM (
/ amigos dos seus amigos que não são seus amigos /
SELECT amigos.id_amigo
FROM (
/ seus amigos /
SELECT id_amigo
FROM amigos
WHERE id_user = 1 SELECT 1
FROM amigos a
WHERE id_user = 1 AND a.id_amigo = amigos.id_amigo
)Carregando comentários...