Codeigniter 加入多个 id 并显示到视图
Posted
技术标签:
【中文标题】Codeigniter 加入多个 id 并显示到视图【英文标题】:Codeigniter joining multiple ids and displaying to a view 【发布时间】:2014-08-20 13:49:14 【问题描述】:我遇到了一些问题,希望能得到你们的帮助。我正在构建一个奇幻游戏,其中我有具有以下结构的奇幻团队表,每个玩家都将使用从玩家表生成的唯一 ID 保存。这是我的玩家表
playerID | playerName | teamID | value | point
13 peter Cech 2 8 0
15 Fernando Torres 2 9 0
这是我的 Fantasyteam 表
teamID | fantasyteam | userID | GK1 | GK2 | DEF1 | DEF2 | MID1 | MID2 | FWD1 | FWD2
95 Washindi FC 1 13 2 3 6 7 12 15 18
我想要实现的是将fantansyteam
表与玩家表连接起来,其中的键将是幻想团队表中玩家的 ID。这是我的模型:-
function get_fantansy_team($userID)
$where=array(
'userID'=>$userID,
);
$this->db->select();
$this->db->from('fantansyteams AS FT');
$this->db->join('player AS P1', 'FT.GK2= P1.playerID');
$this->db->join('player AS P2', 'FT.GK1= P2.playerID','left outer');
$this->db->where('FT.userID', $userID);
$query = $this->db->get();
return $query->result_array();
这是我的控制器:-
public function user($userID)
$this->load->model('team_model');
$data['myteam']=$this->team_model->get_fantansy_team($userID);
$this->load->view('myteam_view',$data);
这是我的看法:-
<?php echo "<pre>" ;print_r($myteam);echo "</pre>" ;?>
<?php foreach($myteam as $player):
echo $player['GK1'] ;
echo $player['playerName'] ;
endforeach;?>
有人可以帮助我如何在我的视图中使用playerName
和其他字段显示用户团队吗?
【问题讨论】:
你可能的结果/结果应该是什么? @Nil'z,我已经编辑了代码,现在添加了控制器和视图代码。但我认为实际问题出在模型中,因为在我看来,如果我回显 playerName,它只会显示 GK1 名称。我的问题是如何使用连接查询数据库,以便显示每个玩家的姓名。再次感谢您的帮助:-) 【参考方案1】:你可以试试这个,看看你得到了什么:
function get_fantansy_team($userID)
$where=array(
'userID'=>$userID,
);
$this->db->select('P1.playerName, P2.playerName, FT.fantasyteam');
$this->db->from('fantasyteam AS FT'); //corrected table name
$this->db->join('player AS P1', 'FT.GK2= P1.playerID');
$this->db->join('player AS P2', 'FT.GK1= P2.playerID','left outer');
$this->db->where('FT.userID', $userID);
$query = $this->db->get();
return $query->result_array();
【讨论】:
非常感谢 Nilz,我认为很接近,我在“字段列表”中有此错误未知列“FT.fantansyteams”,但是当我删除 FT.fantasyteam 时,仅返回第一个玩家。请你能帮我看看如何在我的视图上显示每个玩家的名字。再次感谢:-) 你的表名是fantansyteams / fantansyteam
吗?
您在模型fantansyteams
中拼错了表名以上是关于Codeigniter 加入多个 id 并显示到视图的主要内容,如果未能解决你的问题,请参考以下文章