2014-08-28 66 views
0

我想从3表中获取数据并且在费用pericualr字段批次id和学生id可能为空白如果我使用join然后显示空查询。在codeigniter中加入3表中的空值

$this->db->select('*'); 
$this->db->from('fees_perticular'); 
$this->db->join('fee_cat', 'fees_perticular.fee_cat = fee_cat.id'); 
$this->db->join('batch', 'fees_perticular.batch= batch.id'); 
$this->db->join('stud_cat', 'fees_perticular.sud_cat = stud_cat.id'); 

$query = $this->db->get(); 
id | fee_cat | particular_name | desc  |all |batch|admission|sud_cat|amount 
1 | 1  |  Annual Fees |Annual Fees |all |- |-  |-  |2000 
2 | 2  |  Tuition Fees |Tuition Fees|- |3 |-  |-  |1000 
3 | 1  |  Tuition Fees |vccvv  |- |1 |-  |-  |1000 

回答

0

请试试这个

$this->db->select('*') 
$this->db->join('fee_cat','fees_particular.fee_cat=fee_cat.fee_cat_id','LEFT') 
$this->db->join('batch','fees_particular.batch=batch.batch_id','LEFT') 
$this->db->join('stud_cat','fees_particular.stud_cat=stud_cat.stud_cat_id','LEFT') 
$this->db->get('fees_particular'); 
+0

我都试过,但sud_cat为空,这就是为什么空查询结果由于加入 – khushi 2014-08-28 10:01:04

+0

逻辑上的输出是正确的。你正在做的是与所有表中应该相同的ID加入。如果3个连接中的任何逻辑失败,您的整个逻辑将导致FALSE(没有数据将被检索到) – Shariati 2014-08-28 10:06:47

+0

Thanx ID在2个表中不匹配,所以它不会导致正确的答案 – khushi 2014-08-28 10:13:15