我在数据库中有3个表:

团队


  
  ID
  名称
  


火柴


  
  id(int)
  team_home_id
  team_away_id
  


目标


  
  ID
  match_id
  team_id
  时间
  


我需要在控制器中获得目标的视图中显示团队的名称。

我知道我应该做联接表。

我有以下代码:

    public function get_goals() {
        $this->db->select('goals.*');
        $this->db->from('goals');
        $this->db->join('matches', 'matches.id = goals.match_id');
        $q = $this->db->get();

        return $q->result();
    }


我不知道接下来会发生什么。

我需要通过以下方式查看显示名称:

$ goals-> team_home_name和$ goals-> team_away_name

最佳答案

要获得$goals->team_home_name$goals->team_away_name结果,请使用如下别名:

public function get_goals() {
    $this->db->select('goals.*, home_team.name team_home_name, away_team.name team_away_name');
    $this->db->from('goals');
    $this->db->join('matches', 'matches.id = goals.match_id');
    $this->db->join('teams home_team', 'home_team.id = matches.team_home_id');
    $this->db->join('teams away_team', 'away_team.id = matches.team_away_id');
    $q = $this->db->get();

    return $q->result();
}

关于php - 如何使用别名联接多个表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57074474/

10-13 07:24