两个外键,如何用laravel雄辩地图

Roh*_*der 9 php mysql sql laravel eloquent

我在MySQL中有两个表,第一个叫做用户,第二个叫做游戏.表结构如下.

用户

  • id(主要)
  • 电子邮件
  • 密码
  • 真正的名字

游戏

  • id(主要)
  • user_one_id(外国)
  • user_one_score
  • user_two_id(国外)
  • user_two_score

我的游戏桌与两个用户持有两个外交关系.

我的问题是如何为这个表结构建立模型关系?- 根据laravel文档,我应该在模型中创建一个函数并将其与其关系绑定

例如

public function users()
{
    $this->belongsTo('game');
}
Run Code Online (Sandbox Code Playgroud)

但是我似乎无法在文档中找到任何告诉我如何处理两个外键的内容.就像我上面的表结构一样.

我希望你能在这里帮助我.

谢谢

del*_*ord 15

迁移:

$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');
Run Code Online (Sandbox Code Playgroud)

一个模型:

public function player1()
{
    $this->belongsTo('Game', 'player1');
}
public function player2()
{
    $this->belongsTo('Game', 'player2');
}
Run Code Online (Sandbox Code Playgroud)

正如用户deczo建议的那样,EDIT将"游戏"改为"游戏".

  • 你只需要使用精确的模型名称,这可能是"游戏".否则这将导致"类游戏未找到"致命错误. (2认同)