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

[已解决] $this->db->where和$this->db->like不能一起使用吗

[复制链接]
发表于 2010-10-21 08:42:29 | 显示全部楼层 |阅读模式
比如
where pref_id='40' and city_id='133'  and
like name like '%啊啊%'

用$this->db->where和$this->db->like如何写。
我就是按照$this->db->where和$this->db->like顺序写的,检索的结果比只使用$this->db->where的结果多很多
发表于 2010-10-21 09:15:12 | 显示全部楼层
看看生成的sql是什么好了
 楼主| 发表于 2010-10-21 09:17:03 | 显示全部楼层
怎么看$this->db->where和$this->db->like一起使用后的sql
发表于 2010-10-21 09:20:13 | 显示全部楼层
你$this->db->get完之后,echo $this->db->last_query();
 楼主| 发表于 2010-10-21 09:39:09 | 显示全部楼层
试过了,果然  $this->db->where后面加上$this->db->like和$this->db->or_like
会变成
where pref_id='40' and city_id='133'  and
like name like '%啊啊%'  or like name_k like '%啊啊%'

但是想要的结果是
where pref_id='40' and city_id='133'  and
( name like '%啊啊%'  or like name_k like '%啊啊%')
发表于 2010-10-21 09:44:14 | 显示全部楼层
不行的话就自己写sql,不必在此过于纠结
 楼主| 发表于 2010-10-21 09:46:43 | 显示全部楼层
问一句能不能使用这个Active Record 类
达到
where pref_id='40' and city_id='133'  and
( name like '%啊啊%'  or like name_k like '%啊啊%')
效果
发表于 2010-10-21 09:56:18 | 显示全部楼层
能啊,最直接的就是自己构造where,然后用$this->db->where($yourwhere);
 楼主| 发表于 2010-10-21 10:00:14 | 显示全部楼层
恩 谢谢版主

本版积分规则