Codeigniter连接表获取带有id的名称

时间:2014-02-24 11:20:41

标签: sql codeigniter join

我有以下表格:


族:

  

id,name,icon


示例:

  

3,fox,fox.png



路线:

  

id,name,mob1,mob2,mob3,mob4,mob5,mob6,mob7,mob8


示例:

  

1,first_route,1,3,4,7,2,4,5,6


在mob1,2,n,8处分配的vallues是来自mob表的不同记录的ID。 (基本上是小怪的一部分)

我想要的是获取mob1,2,3的值,将它们与暴徒的ID进行比较,以及获取暴徒名称的方式。

所以最后我显示的数据是:

路线的ID,路线的名称,mob1的名称,mob2的名称,等等

以下是模型:

function get_all($limit=null,$offset=null) {
            $this->db->select('route.*, mob.*');
            $this->db->from('route', 'mob');
            $this->db->join('mob', 'mob.id = route.mob1', 'left');
            $this->db->join('mob AS m1', 'm1.id = route.mob1', 'left');
            $this->db->join('mob AS m2', 'm2.id = route.mob2', 'left');
            $this->db->join('mob AS m3', 'm3.id = route.mob3', 'left');
            $this->db->join('mob AS m4', 'm4.id = route.mob4', 'left');
            $this->db->join('mob AS m5', 'm5.id = route.mob5', 'left');
            $this->db->join('mob AS m6', 'm6.id = route.mob6', 'left');
            $this->db->join('mob AS m7', 'm7.id = route.mob7', 'left');
            $this->db->join('mob AS m8', 'm8.id = route.mob8', 'left');
            $res = $this->db->get();
            return $res->result_array();

我能够获取怪物的ID,但不能获取名称,我做错了什么?

1 个答案:

答案 0 :(得分:0)

请你试着改变这两行:

$this->db->select('route.*, mob.*');
$this->db->from('route', 'mob');

$this->db->select('*');
$this->db->from('route');