2014-05-22 35 views
1

我想检查里面的条件是另一个查询的结果。如何将查询结果提供给CodeIgniter中的条件?

在英国+ SQL

where条件是这样的,其中 (table.field1 = $数据[FIELD1],这$数据[FIELD1]应该从另一结果一些另一个查询结果是仅。)

。我曾经尝试这样做

if(isset($data['field1']) && $data['field1'] != '') { 
       $this->db->where('table.field1',$data['field1'] IN (SELECT id FROM table2' WHERE id=2')); 
      } 

但这会导致错误

+0

你的意思是加入? – Kyslik

回答

1

试图通过这种方式来做到这一点

if(isset($data['field1']) && $data['field1'] != '') { 
    $this->db->where('table.field1',$data['field1']); 
    $this->db->where('table.field1 in ','(SELECT id FROM table2 WHERE id=2)',false); 
} 
1
public function get_category_with_all_sub() { 
    $cquery = $this->db->get ('category'); 
    $cresults = $cquery->result(); 

    $return = array(); 
    foreach ($cresults as $c) { 
     $category_name = $c->name; 
     $this->db->select ('*'); 
     $this->db->from ('sub_category'); 
     $this->db->where ('category_id', $c->id); 

     $squery = $this->db->get(); 

     $sresults = $squery->result(); 

     foreach ($sresults as $s) { 
      $return [$category_name] [] = array (
        'id' => $s->id, 
        'name' => $s->name, 
        'desc' => $s->description 
      ); 
     } 
    } 

    return $return; 
} 

请建立这样的模型功能,$c->id从另一个结果来。

相关问题