所以,我正在为拳击创建一个结果网站,我试图让拳击手过去的结果,但我正在与人际关系挣扎......
例如,拳击手可以有很多事件(战斗),并且有1个结果(胜利,平局或失败)和1个对手。我试图用对手的信息显示所有的拳击手结果
所以,我有一个结构的事件(如果需要可以添加一个关系id)
Schema::create('events', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->date('date');
$table->string('location');
$table->timestamps();
$table->softDeletes();
});
我有一个拳击手表
Schema::create('boxers', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('status');
$table->string('division');
$table->string('stance');
$table->date('dob');
$table->integer('height');
$table->string('nationality');
$table->string('residence');
$table->string('birthplace');
$table->timestamps();
$table->softDeletes();
});
和结果
Schema::create('results', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id');
$table->integer('event_id');
$table->string('result');
$table->timestamps();
$table->softDeletes();
});
我需要添加和更改以使关系正常工作?
答案 0 :(得分:0)
事件通常是hasMany
打架(卡片上的许多打斗),每次打架hasMany
(两位)运动员。因此,你的战斗/运动员关系将是多对多的(战士在他们的职业生涯中有很多战斗)。您将创建一个数据透视表athletes_fights
,其中包含fight_id
和athlete_id
列。此外,此数据透视表可以包含winner_id
和draw
列。如果战斗是平局,Draw可以默认为0,1。它也可能有win_method
(甚至可以为此创建另一个表格并使其成为win_method_id
),win_round
,win_time
。
如果您还没有,请查看Laravel文档中的关系部分。
所以你的模型会......
Event
Fight
Athlete