正在联接此查询中的CodeIgniter表多个表

3ks5zfa0  于 2022-12-16  发布在  其他
关注(0)|答案(2)|浏览(125)

我只想在CodeIgniter中连接1到3个表,我该怎么做呢?
在此查询中,我只连接了一个表如何连接第三个、第四个表

$this->db->select('*');
    $this->db->from('table1');
    $this->db->join('table1', 'table1.dep_id = table2.dep_id', 'table1.status= 1');
    $this->db->limit(1);
    $this->db->order_by("expiredate", "desc");
    
    return $this->db->get()->result();

我的表结构如下
表一

t1_id
t1_name
t2_id
t3_id
t4_id

表二

t2_id
t2_name

表三

t3_id
t3_name

表四

t4_id
t4_name

我怎样才能加入我的第三和第四个

yshpjwxd

yshpjwxd1#

试试这个,我想它有用

$this->db->select('table1.*,table2.t2_name,table3.t3_name,table4.t4_name');
$this->db->from('table1','table2','table3','table4');

$this->db->join('table2', 'table1.t2_id= table2.t2_id');
$this->db->join('table3', 'table1.t3_id= table3.t3_id');
$this->db->join('table4', 'table1.t4_id= table4.t4_id');

return $this->db->get()->result();

或者您可以使用SQL查询来获取结果....

$this->db->query($sql)->result();
h6my8fg2

h6my8fg22#

尝试类似以下的同步连接

$this->db->join('table1', 'table1.t2_id = table2.t2_id', 'table1.status= 1');

同时,您需要连接table1、table2中的任何一个,以便与table3或table4连接,如

$this->db->join('table3', 'table1.t3_id = table3.t3_id');
$this->db->join('table4', 'table1.t4_id = table4.t3_id');

此外,您还需要选择表

$this->db->select('table1.*,table2.*,..');

另一件事是,如果table1和table2的任何列相同,则需要选择aliaslike

$this->db->select('table1.id as tab1id,table2.id as tab2id');

上表1、2中列名“id”相同

相关问题