MySQL: Duas chaves estrangeiras em uma tabela referentes a outra tabela

Me deparei com algo que parecia simples antes, mas me fez coçar a cabeça novamente. Eu tenho uma tabela para usuários:

user_id (PK) | username| email | something

... e uma tabela para "visualizações" para quando um usuário visualizou outro usuário:

view_id (PK) | viewer_id | viewed_id | view_date

O "viewer_id" e o "seen_id" são ambos user_ids, permitindo-me procurar separadamente por instâncias em que um usuário era o visualizador ou aquele que estava sendo visualizado.

Inicialmente, pensei que essas duas colunas seriam chaves estrangeiras, mas, depois de criar as tabelas no meu arquivo schema.yml (estou usando o Doctrine 1.2) e especificar dois relacionamentos externos separados (um para cada coluna), parece que o Doctrine leva apenas leve em consideração o primeiro relacionamento externo listado entre essas duas tabelas (id_do_usuário> id_do_ visualizador).

Agora, fiquei confuso se esse é o comportamento correto do MySQL, um problema no Doctrine ou um problema na maneira como estou abordando isso, ou nada para me preocupar! Pode haver duas chaves estrangeiras separadas de uma tabela mapeada para a mesma coluna em outra tabela? É lógico, já que um JOIN ainda me daria acesso a "visualizações" por meio de um user_id? Eu entendi errado?

Obrigado pelo seu tempo.

EDIT - O arquivo de esquema:

User:
relations:
View: {class: View, local: user_id, foreign: viewer_id, type: many, foreignType: one, alias: View, foreignAlias: User}
View: {class: View, local: user_id, foreign: viewed_id, type: many, foreignType: one, alias: View, foreignAlias: User}

... only difference is viewer_id/viewed_id

questionAnswers(2)

yourAnswerToTheQuestion