我正在尝试通过代码在Codeigniter中组合Where和OR。
$this->db->where("id",1);
$this->db->where("status","live")->or_where("status","dead");
出现的结果如同查询
where id=1 and status='live' OR status='dead'
而我需要这个查询的结果
where id=1 and (status='live' OR status='dead');
注意:请不要给出作为参数从where函数传递的字符串的解决方案。那不适合我的代码。我刚刚简化了上面的问题。
答案 0 :(得分:8)
刚刚找到解决方案,如果它可以帮助一些人。
$this->db->where("id",1)->where("(status='live' OR status='dead')");
答案 1 :(得分:8)
你可以像这样使用where_in()
$status_array = array('live','dead');
$this->db->where("id",1);
$this->db->where_in('status', $status_array);
答案 2 :(得分:0)
您只需添加-> group_start()和-> group_end()
$this->db->where("id",1);
$this->db->where("status","live")
->group_start()
->or_where("status","dead")
->group_end();