Codeigniter DB Query与where,or,和..等

chr*_*ris 6 php mysql activerecord codeigniter

我有一个查询下面的条件(减去选择,从等)

$this->db->where('show_year', $yyyy);
$this->db->or_where('idn', $idn);
$this->db->or_like('post_slug', $idn);
Run Code Online (Sandbox Code Playgroud)

哪种形式

SELECT * FROM (`nyb_articles`) 
WHERE `show_year` = '2009' 
OR `idn` = 'the' 
AND `post_slug` LIKE '%the%'
Run Code Online (Sandbox Code Playgroud)

但是我希望它更像是

SELECT * FROM (`nyb_articles`) 
WHERE `show_year` = '2009' 
AND (`idn` = 'the' OR `post_slug` LIKE '%the%')
Run Code Online (Sandbox Code Playgroud)

我的问题是我不确定CI的活动记录是否支持这一概念,如果确实如此,我将如何处理它,因为我无法在文档中的任何地方找到它的概念.不管我怎么变了like,or_like,where,or_where我甚至不能钉类似的东西.所以任何人都有任何想法?如果可能的话,我宁愿远离原始查询,但如果我必须准备一个并按这样做,我会,只是不愿意.

uzs*_*olt 2

你尝试过这个吗?

SELECT * FROM (`nyb_articles`) 
WHERE `show_year` = '2009' AND `idn` = 'the' 
OR `show_year`='2009' AND `post_slug` LIKE '%the%'
Run Code Online (Sandbox Code Playgroud)

我认为以下产生了上面的表达式:

$this->db->select(...)->from(...)->
where("show_year","2009")->where("idn","the")->
or_where("show_year","2009")->like("post_slug","%the%")
Run Code Online (Sandbox Code Playgroud)