基本上,我的数据库中有 2 个表:Games 和 Teams。
每场比赛必须有 2 支球队,所以这是一个二对多的关系。
我应该在我的 Games 表中使用 2 个外键指向 Teams 表中的 2 个团队并具有一对多关系,还是使用与第三个表的多对多关系来链接游戏和团队表?
我在项目中使用 Laravel 6.5,所以我猜我使用 Eloquent 来实现它。
Schema::create('games', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('team_a_id');
$table->foreign('team_a_id')->references('id')->on('teams')->onDelete('restrict');
$table->unsignedBigInteger('team_b_id');
$table->foreign('team_b_id')->references('id')->on('teams')->onDelete('restrict');
$table->unsignedInteger('team_a_score');
$table->unsignedInteger('team_b_score');
$table->string('status');
$table->boolean('finished');
});
Schema::create('teams', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('abbreviation');
$table->string('country');
$table->timestamps();
});
这是我现在创建的两个表,这是实现它的正确方法吗?
一只甜甜圈