我必须使用code-igniter在单个查询中将一个值与多个字段进行比较。我有一个值$search_value
应匹配这两个表字段中的任何一个field 1
或field 2
和一个$reference
号码应与reference-number field
匹配。
查询应该与参考编号和搜索值匹配。
我的查询: -
$this->db->where(array('reference_number'=>$reference_number,'field 1'=>$search_value));
$this->db->or_where(array('reference_number'=>$reference_number,'field 2'=>$search_value));
如何解决这个问题?
答案 0 :(得分:6)
您可以使用类似查询来匹配您的field1和filed2中的$search_value
,并在您的where条件中写下reference_number
。
$this->db->like('field1', $search_value);
$this->db->or_like('field2', $search_value);
$this->db->where('reference_number', $reference_number);
$res = $this->db->get('TABLE_NAME');
<强>已更新强>
$this->db->where("reference_number=1234 AND field1='$search_value'");
$this->db->or_where("reference_number=1234 AND field2='$search_value'");
$res = $this->db->get('TABLE_NAME');