问题描述
是否可以将 and_where/or_where/or_like... 语句分组 在一起,以免与其他 and/where 语句混合.
Is it possible to group and_where / or_where / or_like... statements together so as not to mix with other and/where statements.
会导致的结果
WHERE city = 'My City' AND state = 'My State' AND (name LIKE %name1%或名称如 %name2%)
WHERE city = 'My City' AND state = 'My State' AND (name LIKE %name1% OR name LIKE %name2%)
推荐答案
是的.$this->db->where()
允许您手动编写子句.你可以这样做:
Yes. $this->db->where()
allows you to write clauses manually. You could do this:
$this->db->where('city', 'My City');
$this->db->where('state', 'My State');
$this->db->where('(name LIKE %name1% OR name LIKE %name2%)', null, false);
将第三个参数设置为 false 可防止 CodeIgniter 尝试向子句添加反引号.
Setting the third parameter for false prevents CodeIgniter from trying to add backticks to the clause.
查看 Active Record 文档.标题为 $this->db->where(); 的部分解释了可用于设置 WHERE 子句的四种方法.
Check out the Active Record documentation. The section titled $this->db->where(); explains the four methods you can use to set WHERE clauses.
这篇关于Codeigniter Active Record 'where_or' 分组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!