无法从表中获取完整值

时间:2018-03-29 08:17:27

标签: php mysql codeigniter join

我有3个表,如下所示

table1
id  name contactno
1    A     1111

表2

id  fullname   contactno
1     B          2222

表3

id   table1_id    table2_id
1      1            1

我想从table3中获取table1和table2的id,并根据获取的id,我想从各自的表中获取数据。为此,我使用以下查询

$query = $this->db->select('*')
  ->from('table3')
  ->join('table1', 'table1.id = table3.table1_id', 'inner')
  ->join('table2', 'table2.id = table3.table2_id', 'inner')
  ->get();

我在以下数组中获得了所需的结果

Array
(
    [0] => stdClass Object
        (
            [id] => 1
            [name] => A
            [fullname] => B
            [contactno] => 2222
        )
)

正如您所看到的那样,只有1个表的联系号被提取,而我希望两个表的联系号都应该显示在数组中 任何人都可以告诉你该怎么做

2 个答案:

答案 0 :(得分:0)

试试这个

$query = $this->db->select('*')
  ->from('table3')
  ->join('table1', 'table1.id = table3.table1_id', 'left')
  ->join('table2', 'table2.id = table3.table2_id', 'left')
  ->get();

答案 1 :(得分:0)

试试这个,

$query = $this->db->select('table1.id,table1.name,table2.fullname,table1.contactno as con1,table2.contactno as con2')
->from('table3')
->join('table1', 'table1.id = table3.table1_id', 'inner')
->join('table2', 'table2.id = table3.table2_id', 'inner')
->get();