2016-11-30 76 views

回答

2

我相信你可以在做到这一点几种方法。首先,我假设你将一个数组传递给模型函数,该数组为$filters

方案一个

$this->db->select('*'); 
$this->db->from('tbl_admins'); 
$this->db->where('email', $filters["email"]); 
$this->db->or_where('uname', $filters["email"]); 
$this->db->where('upass', $filters["password"]); 

方案二

$this->db->select('*'); 
$this->db->from('tbl_admins'); 
$this->db->where("(email = '$filters["email"]' OR uname = '$filters["email"]') AND upass = '$filters["password"]'"); 

我没有测试,所以你可能需要调整变量选项二的一点在哪里。但是这相当接近你想要的。

这里是another example的一个类似的Stack Overflow问题。

1

最后我把它写这样......

$conditions = '(`col1`="'.$var1.'" OR `col2`="'.$var1.'") AND `col3`="'.$var2.'"';   
$query = $this->db->get_where('table',$conditions); 
$result = $query->result(); 

而且它的工作原理:)

0

您可以使用group_start()group_end()功能(从活动记录)进行分组有关,其中在单独的条款组。下面是语法示例:

$query= $this->db->select('*') 
     ->group_start() 
     ->or_like($likeColumns) 
     ->group_end() 
     ->where($whereColumn, $whereValue) 
     ->get($table);