首页 > 解决方案 > Laravel查询如何连接来自多个表的数据

问题描述

在 laravel 查询中加入多个表需要帮助

Matches table   

id
round
league_id
home_team_id
away_team_id
match_date


Match facts table   
id
match_id
player_id
minutes
goals

此查询将主队和客队球员聚集在一起:

$MatchFacts = Match_fact::where('match_id', $match->id)
    ->get();

目标是通过团队成员获得所有比赛事实。

标签: databaselaravelmodel-view-controllerlaravel-query-builderlaravel-controller

解决方案


使用此查询解决的问题:

$away_team_facts = DB::table('match_facts')
            ->where('match_id', $match->id)
            ->join('players', 'match_facts.player_id', '=', 'players.id')
            ->where('players.team_id', '=', $awayTeamId)
            ->get();

推荐阅读