duas foreign keys, como mapear com laravel eloquente

Eu tenho duas mesas no MySQL, onde o primeiro é chamado de usuários e o segundo é chamado de jogos. A estrutura da tabela é a seguinte.

Comercial

  • id (primário)
  • o email
  • senha
  • nome real

jogos

  • id (primário)
  • user_one_id (foreign)
  • user_one_score
  • user_two_id (foreign)
  • user_two_score

Minha tabela de jogos está mantendo duas relações externas para dois usuários.

Minha pergunta é como faço as relações modelo para esta estrutura de tabela ?? – De acordo com a documentação laravel , devo fazer uma function dentro do modelo e vinculá-lo com suas relações

por exemplo

public function users() { $this->belongsTo('game'); } 

No entanto, não consigo encontrar nada na documentação me dizendo como lidar com duas foreign keys. como na estrutura da minha tabela acima.

Espero que você possa me ajudar no caminho aqui.

Obrigado

Uma migration:

 $table->integer('player1')->unsigned(); $table->foreign('player1')->references('id')->on('users')->onDelete('cascade'); $table->integer('player2')->unsigned(); $table->foreign('player2')->references('id')->on('users')->onDelete('cascade'); 

E um modelo:

 public function player1() { $this->belongsTo('Game', 'player1'); } public function player2() { $this->belongsTo('Game', 'player2'); } 

EDIT mudou ‘game’ para ‘Game’ como sugere o usuário deczo.

Infelizmente, a maneira como você tem essa configuração provavelmente não funcionará no contexto atual. Você pode ter mais sorte com o método belongsTo, mas novamente isso só suporta um relacionamento.

Você poderia implementar um user1 () belongsTo, um user2 () belongsTo e, finalmente, declarar uma function não eloquente para retornar ambos (algo como $ users = array ($ this-> user1 (), $ this-> user2 ())