【发布时间】:2017-08-07 14:29:10
【问题描述】:
我想创建一些应用程序,例如曲棍球队排名和比赛。我认为在匹配表中我必须有两个外键(first_team_id 和 second_team_id)。我在迁移中做到了(create_mathes_table):
public function up()
{
Schema::create('matches', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('first_team_id');
$table->unsignedInteger('second_team_id');
$table->foreign('first_team_id')->references('id')->on('team');
$table->foreign('second_team_id')->references('id')->on('team');
$table->date('match_date');
});
}
我在团队模型(多对多)中有这种关系:
public function matches()
{
return $this->belongsToMany('App\Match');
}
我已经在 Team 表中播种,但我不知道如何在关系表中播种 使用两个外键匹配,我在 Team 表中播种如下: 播种机:
public function run()
{
factory(App\Team::class,11)->create();
}
工厂:
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
$factory->define(App\Team::class, function (Faker\Generator $faker) {
$team_example = ['Dinamo','Schacter','Zorya','Stal','Vorskla','Olimpik','Mariupol','Zvezda','Karpaty','Chernomorets','Veres'];
return [
'name' => $faker->unique()->randomElement($team_example),
'score' => $faker->numberBetween($min = 1, $max = 15)
];
});
【问题讨论】:
-
什么是锦标赛类型?是淘汰赛还是联赛类型?
-
你能把
Match的模型工厂也展示一下吗? -
我无法为 Match 模型建立工厂,这是个问题