Php Codeigniter中的MySQL连接表
我试图在Codeigniter中为两个团队创建一个固定装置。我有一张供团队使用的桌子Php Codeigniter中的MySQL连接表,php,mysql,sql,codeigniter,Php,Mysql,Sql,Codeigniter,我试图在Codeigniter中为两个团队创建一个固定装置。我有一张供团队使用的桌子 TEAM team_id team_name team_logo 我也有一张桌子放固定装置 Fixture fixture_id fixture_text fixture_comp fixture_type fixture_level fixture_date 这两个表之间的关系是多对多的,它创建了一个连接表,该连接表具有由team_id和fixture_id组成的复合PK Team_Fixtures te
TEAM
team_id
team_name
team_logo
我也有一张桌子放固定装置
Fixture
fixture_id
fixture_text
fixture_comp
fixture_type
fixture_level
fixture_date
这两个表之间的关系是多对多的,它创建了一个连接表,该连接表具有由team_id和fixture_id组成的复合PK
Team_Fixtures
team_id
fixture_id
我是sql和Codeigniter的初学者,这是我正在使用的框架,我希望查询这些表。我想从fixture表中获取所有信息,再加上团队表中的团队名称和徽标。我能够单独查询表并获取信息,但我想知道如何在Codeigniter中编写一个join语句,以便在同一个查询中获取所有信息
这就是我目前用来查询fixture表的内容
模型
非常感谢任何帮助试试这样的方法
$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();
Team_Fixtures
是唯一一个保存关系的表,因此如果需要结果,您必须在其中放入记录。Team表已填充,fixture表已填充,但Team_Fixtures表为空,因此当我运行此查询时$this->db->select('*')$这->数据库->来自('Team_Fixtures')代码>我没有得到任何回报-我需要手动将夹具和团队的ID插入其中。这就是我困惑的地方。此表只有两列-团队\团队\ id和夹具\夹具\ id-如果我创建夹具,两个团队是否应该没有值??-当我在MySql Workbench中添加团队和夹具表之间的关系时,该表是在MySql Workbench中自动创建的。如果团队和夹具表具有team1和team2和fixture,那么它们都是主键的一部分。上面的数据库设计适用于许多关系。如果你想要一对多,你必须改变数据设计。在许多情况下,Team_装置持有来自两个相关表的外键。将其作为另一个问题,并描述您想要检索的内容。
<?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";
}
?>
$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();