【发布时间】:2012-11-06 12:20:55
【问题描述】:
我在下面有一个查询条件(减去 select、from 等)
$this->db->where('show_year', $yyyy);
$this->db->or_where('idn', $idn);
$this->db->or_like('post_slug', $idn);
什么形式
SELECT * FROM (`nyb_articles`)
WHERE `show_year` = '2009'
OR `idn` = 'the'
AND `post_slug` LIKE '%the%'
不过我希望它更像
SELECT * FROM (`nyb_articles`)
WHERE `show_year` = '2009'
AND (`idn` = 'the' OR `post_slug` LIKE '%the%')
我的问题是我不确定 CI 的活动记录是否支持这个概念,如果支持,我将如何解决它,因为我在文档中的任何地方都找不到它的概念。无论我如何更改like、or_like、where、or_where,我什至无法确定类似的东西。所以有人有任何想法吗?如果可能的话,我宁愿远离原始查询,但如果我必须准备一个并这样做,我会,只是不想这样做。
【问题讨论】:
-
我认为这个答案可能会有所帮助,stackoverflow.com/questions/11937867/… 只需将
(...)部分作为字符串放入一个$this->db->where()调用中(使用()s) -
我想你可能对那个有兴趣。希望有一种方法可以让它保持部分分解,以便在细化时更容易及时更改,并沿着随机条件构建整个查询的路线,但如果这是唯一的情况我会接受它,很好的发现
标签: php mysql codeigniter activerecord