繁体   English   中英

Codeigniter中的MySQL JOIN表

[英]MySQL JOIN tables in Codeigniter

我正在尝试为Codeigniter中的两个团队创建一个装置。 我有团队桌子

TEAM
team_id
team_name
team_logo

我也有一张桌子。

Fixture
fixture_id
fixture_text
fixture_comp
fixture_type
fixture_level
fixture_date

这两个表之间的关系是多对多的,这创建了一个JOIN表,该表具有由team_id和Fixture_id组成的复合PK

Team_Fixtures
team_id
fixture_id

我是sql和Codeigniter的初学者,这是我正在使用的框架,并且我正在查询这些表。 我想从灯具表中获取所有信息,再从团队表中获取团队名称和徽标。 我能够单独查询表并获取信息,但想知道如何在Codeigniter中编写一个join语句,该语句将在同一查询中获取所有信息。

这就是我现在用来查询灯具表的东西。

模型

<?php  
class Fixture_model extends CI_Model {  


 public function __construct()
 {
  parent::__construct();
 }

 function fixtures() 

    {
        $fixture_level = "Roinn 1B";
        //Query the fixture table for every record and row  

        $results = array();
        $this->db->select('fixture_text, fixture_type, fixture_comp, fixture_date,   fixture_level');
        $this->db->from('fixture');
        $this->db->where('fixture_level', $fixture_level );

        $query = $this->db->get();

        if($query->num_rows() > 0) 
        {
         $results = $query->result();
        }

        return $results;   

    }  

}
/*End of file fixture_model.php*/
/*Location .application/models/fixture_model.php*/ 
?>

在我看来

<?php

     if (is_array($results))
     {
       if( !empty($results) ) 
       {

         foreach($results as $row) 
         {

          echo '<div class="col-sm-6 col-md-6">';
          echo '<div class="thumbnail">';
          echo '<tr>';
          echo '<h4>';
          echo '<td>'.$row->fixture_type.'</td>'."</br></br>";
          echo '<td>'.$row->fixture_level.'</td>'."</br></br>";
          echo '<td>'.$row->fixture_comp.'</td>'."</br>";
          echo '</h4>';


          echo '<td>'.$row->fixture_text.'</td>'."</br>";

          echo '<td>'.$row->fixture_date.'</td>'."</br></br>";
          echo '</tr>';
          echo '</div>';
          echo '</div>';
         }
       }

      else echo "Not Array";
    }

    ?>

我正在尝试创建一个灯具,其中将包含来自团队1的团队名称和徽标,然后是灯具详细信息,然后包含来自团队2的团队名称和徽标

对于JOIN,我知道这样的事情,但不确定要加入什么。

$this->db->select('*');
$this->db->from('fixture');
$this->db->join('team', '? = ?');

$query = $this->db->get();

任何帮助真的很感激

试试这个

 $this->db->select('*');
$this->db->from('Team_Fixtures');
$this->db->join('team', 'Team_Fixtures.team_id = team.team_id');
$this->db->join('Fixture', 'Team_Fixtures.fixture_id= Fixture.fixture_id');
$query = $this->db->get();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM