Codeigniter WHERE和OR在一起

时间:2014-01-01 06:57:45

标签: php database codeigniter combinations where-clause

我正在尝试通过代码在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函数传递的字符串的解决方案。那不适合我的代码。我刚刚简化了上面的问题。

3 个答案:

答案 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();