Laravel 5 Laravel 5.7一对多列的关系

Laravel 5 Laravel 5.7一对多列的关系,laravel-5,eloquent,relational-database,laravel-migrations,Laravel 5,Eloquent,Relational Database,Laravel Migrations,我有球队和比赛桌。所有比赛信息保存在比赛表上,包括两队、优胜者队伍、比赛时间等 在比赛桌上我有三个野战队,第一队,第二队,胜利者队 我想把这些字段与团队表联系起来 这是我的代码 Schema::create('matches', function (Blueprint $table) { $table->increments('id'); $table->integer('team_1')->unsigned()->inde

我有球队和比赛桌。所有比赛信息保存在比赛表上,包括两队、优胜者队伍、比赛时间等

在比赛桌上我有三个野战队,第一队,第二队,胜利者队 我想把这些字段与团队表联系起来

这是我的代码

Schema::create('matches', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('team_1')->unsigned()->index();
            $table->integer('team_2')->unsigned()->index();
            $table->integer('league_id')->unsigned()->index();
            $table->integer('winner')->nullable();
            $table->dateTime('match_time');
            $table->timestamps();

            $table->foreign('team_1')->references('id')->on('teams')
                ->onDelete('restrict')
                ->onUpdate('cascade');

            $table->foreign('team_2')->references('id')->on('teams')
                ->onDelete('restrict')
                ->onUpdate('cascade');

            $table->foreign('league_id')->references('id')->on('leagues')
                ->onDelete('restrict')
                ->onUpdate('cascade');

            $table->foreign('winner')->references('id')->on('teams')
                ->onDelete('restrict')
                ->onUpdate('cascade');
        });
团队模式

class Team extends Model
{
    public function league()
    {
        return $this->belongsTo('App\League');
    }



      public function matchs()
        {
            return $this->hasMany('App\Match');
        }

    }
class Match extends Model
{
    public function team_1()
    {
        return $this->belongsTo('App\Team','id');
    }

    public function team_2()
    {
        return $this->belongsTo('App\Team','team_2');
    }

    public function winner()
    {
        return $this->belongsTo('App\Team','winner');
    }

    public function league()
    {
        return $this->belongsTo('App\League');
    }

    public function teams() {
        return $this->team_1()->merge($this->team_2());
    }
}
匹配型号

class Team extends Model
{
    public function league()
    {
        return $this->belongsTo('App\League');
    }



      public function matchs()
        {
            return $this->hasMany('App\Match');
        }

    }
class Match extends Model
{
    public function team_1()
    {
        return $this->belongsTo('App\Team','id');
    }

    public function team_2()
    {
        return $this->belongsTo('App\Team','team_2');
    }

    public function winner()
    {
        return $this->belongsTo('App\Team','winner');
    }

    public function league()
    {
        return $this->belongsTo('App\League');
    }

    public function teams() {
        return $this->team_1()->merge($this->team_2());
    }
}
迁移文件

Schema::create('matches', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('team_1')->unsigned()->index();
            $table->integer('team_2')->unsigned()->index();
            $table->integer('league_id')->unsigned()->index();
            $table->integer('winner')->nullable();
            $table->dateTime('match_time');
            $table->timestamps();

            $table->foreign('team_1')->references('id')->on('teams')
                ->onDelete('restrict')
                ->onUpdate('cascade');

            $table->foreign('team_2')->references('id')->on('teams')
                ->onDelete('restrict')
                ->onUpdate('cascade');

            $table->foreign('league_id')->references('id')->on('leagues')
                ->onDelete('restrict')
                ->onUpdate('cascade');

            $table->foreign('winner')->references('id')->on('teams')
                ->onDelete('restrict')
                ->onUpdate('cascade');
        });

哪个模型包含这些关系?匹配模型上包含此关系