用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3474|回复: 8
收起左侧

[已解决] 不使用$this->db->query();可以解决这个问题吗?

[复制链接]
发表于 2011-3-24 20:33:08 | 显示全部楼层 |阅读模式
PHP复制代码
$data = array();
        $this->db->like('username', $keywords);
        $this->db->or_like('name', $keywords);
        $this->db->or_like('contact', $keywords);
        $this->db->or_like('email', $keywords);
        $this->db->where('status', $status);
        $Q = $this->db->get('user', $num, $offset);
 
复制代码

出来的SQL语句是:SELECT * FROM (`ci_ccms_user`) WHERE `status` = '0' AND `username` LIKE '%%' OR `name` LIKE '%%' OR `contact` LIKE '%%' OR `email` LIKE '%%' ;
但是我想要的是:SELECT * FROM (`ci_ccms_user`) WHERE `status` = '0' AND (`username` LIKE '%%' OR `name` LIKE '%%' OR `contact` LIKE '%%' OR `email` LIKE '%%' )
或者大家有什么更好的解决方法吗?
发表于 2011-3-25 00:26:12 | 显示全部楼层
直接使用 SQL 有什么不好?
建议直接使用 SQL。
 楼主| 发表于 2011-3-25 09:01:53 | 显示全部楼层
直接使用 SQL 有什么不好?
建议直接使用 SQL。
Hex 发表于 2011-3-25 00:26


那一般开发中是使用辅助语句,实现不了再使用SQL好,还是直接使用SQL
发表于 2011-3-25 12:48:04 | 显示全部楼层
一般开发不需要写太复杂的 SQL,一般有这种需求是设计问题。
建议复杂SQL用query,简单的用 AR
发表于 2011-3-27 19:54:01 | 显示全部楼层
回复 4# Hex


   请教: 什么是AR??
 楼主| 发表于 2011-3-29 11:40:55 | 显示全部楼层
发表于 2011-3-29 14:01:50 | 显示全部楼层
直接用sql吧,AR要不写起来也很复杂
发表于 2011-3-30 11:29:19 | 显示全部楼层
貌似实现不了,不用直接用SQL语句的话
发表于 2011-3-30 11:31:05 | 显示全部楼层
简单查询用ar
条件多的话用sql调用query执行...

本版积分规则