显示不在其他表中的数据加入codeigniter

我有2个表,我尝试加入以将两个表与codeigniter结合在一起,但是当我创建查询连接时,有数据不会显示,因为数据不在另一张表再次,我该如何解决这个问题?显示不在其他表中的数据加入codeigniter

tbl_fruit 

_______________

| id | fruit |

|----|--------|

| 0 | manggo |

| 1 | apple |

| 2 | banana |

| 3 | orange |

| 4 | avocado|

tbl_proc

_______________

| id | proc |

|----|--------|

| 0 | juice |

| 1 | blend |

| 2 | shake |

tbl_master

____________________________________

| id | id_fruit | id_proc | client |

|----|----------|---------|---------|

| 0 | 2 | | | //How display on join

| 1 | 1 | 2 | nana |

| 2 | 3 | 2 | george |

| 3 | 4 | 0 | smith |

| 4 | 0 | | billy | //How display on join

| 5 | 2 | 1 | Jack |

tbl_result

----------------------------------------

| no | name fruit | name proc | client |

|----|------------|-----------|--------|

| 0 | apple | shake | nana |

| 1 | orange | shake | george |

| 2 | avocado | juice | smith |

| 3 | banana | blend | smith |

$query = $this->db->select('*')

->from('tb_result')

->join('tb_fruit', 'tb_fruit.id = tb_result.id_fruit')

->join('tb_proc', 'tb_proc.id = tb_result.id_proc')

->get();

return $query->result();

如何显示上没有其他表中的数据,但在表出现在加入tbl_master数据?

回答:

使用LEFT JOIN在您的加入功能

$query = $this->db->select('*') 

->from('tbl_master')

->join('tbl_fruit', 'tbl_fruit.id = tbl_master.id_fruit', 'left')

->join('tbl_proc', 'tbl_proc.id = tbl_master.id_proc', 'left')

->get();

return $query->result();

应该导致的第三个参数这个SQLFIDDLE

以上是 显示不在其他表中的数据加入codeigniter 的全部内容, 来源链接: utcz.com/qa/260428.html

回到顶部