如何在CodeIgniter中实现同一字段的多个AND LIKE条件查询?
CodeIgniter 多AND LIKE条件实现方案
有原生支持的实现方式,不需要自定义方法:
- CodeIgniter 查询构造器的
like()方法默认使用AND作为条件连接符,连续调用多次就可以实现多个LIKE条件同时满足的需求,且默认会给匹配关键词前后自动添加%通配符,完全匹配你需要的SQL效果。
CodeIgniter 3 写法示例
$this->db->select('*'); $this->db->from('mytable'); // 连续调用like即可自动用AND拼接条件 $this->db->like('col_text', 'word1'); $this->db->like('col_text', 'word2'); $this->db->like('col_text', 'word3'); $query = $this->db->get(); // 处理查询结果 $result = $query->result_array();
CodeIgniter 4 写法示例
$db = \Config\Database::connect(); $builder = $db->table('mytable'); // 连续调用like即可自动用AND拼接条件 $builder->like('col_text', 'word1'); $builder->like('col_text', 'word2'); $builder->like('col_text', 'word3'); $query = $builder->get(); // 处理查询结果 $result = $query->getResultArray();
补充说明
- 如果需要显式指定连接逻辑,可以给
like()方法传入第四个参数,例如$this->db->like('col_text', 'test', 'both', 'AND'),不传的情况下默认值就是AND。 - 如果需要用
OR连接多个LIKE条件,改用or_like()方法即可。
内容的提问来源于stack exchange,提问作者hery
相关产品推荐
相关产品推荐

