php – 如何在CI中使用OR和AND运算符进行查询?

我尝试通过Active Records在Codeigniter中进行查询

if (isset($data['where']['and'])) {
     $this->db->where($data['where']['and']);
}

if (isset($data['where']['or'])) {
     $this->db->or_where_in('idSpec', $data['where']['or']);
}

我想得到:

WHERE name = 1 AND (idSpec = 2 OR idSpec = 3 OR idSpec = 4);

但现在我得到:

WHERE name = 1 OR idSpec = 2 OR idSpec = 3 OR idSpec = 4;

解决方法:

使用以下代码.

if (isset($data['where']['and'])) {
      $this->db->where($data['where']['and']);
    }
    if (isset($data['where']['or'])) {
      $this->db->where("(idSpec = 2 OR idSpec = 3 OR idSpec = 4;)", NULL, FALSE);
    }

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...