Sql Codeigniter联接表获取id为的名称

Sql Codeigniter联接表获取id为的名称,sql,codeigniter,join,Sql,Codeigniter,Join,我有以下表格: 暴徒: id、名称、图标 例如: 3,fox,fox.png 及 路线: id,name,mob1,mob2,mob3,mob4,mob5,mob6,mob7,mob8 例如: 一号,一号线,一号,三号,四号,七号,二号,四号,五号,六号 在mob1,2,n,8,分配的值是mob表中不同记录的id。(暴徒的基本顺序) 我想要的是得到mob1,2,3ect的值,将它们与mob的id进行比较,这样就可以得到mob的名称 因此,最后当我显示我拥有的数据时: 路由ID、路由名

我有以下表格:


暴徒:

id、名称、图标


例如:

3,fox,fox.png



路线:

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


例如:

一号,一号线,一号,三号,四号,七号,二号,四号,五号,六号


在mob1,2,n,8,分配的值是mob表中不同记录的id。(暴徒的基本顺序)

我想要的是得到mob1,2,3ect的值,将它们与mob的id进行比较,这样就可以得到mob的名称

因此,最后当我显示我拥有的数据时:

路由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,但不能得到他们的名字,我做错了什么?

请你尝试更改这两行:

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


同样的结果,我得到了最后一个(mob8)的ID、名称和图标。如果我删除$this->db->join('mob AS m8','m8.id=route.mob8','left');我正在正确地获取mob7的信息。
$this->db->select('*');
$this->db->from('route');