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

[已解决] Active Record怎样复用

[复制链接]
发表于 2012-2-2 17:52:04 | 显示全部楼层 |阅读模式

$this->db->where();
$this->db->from();
$this->db->count_all_results();
下面的get()会没有上面的where限制,怎样才能再使用上面的where条件
$this->db->get();
 楼主| 发表于 2012-2-2 17:55:05 | 显示全部楼层
最后我用
$this->db->last_query();
取出SQL,然后再替换,执行
$this->db->query();
使用
麻烦,有其他办法吗?不要用model
发表于 2012-2-2 18:06:17 | 显示全部楼层
你的需求是什么呢?
 楼主| 发表于 2012-2-3 09:03:18 | 显示全部楼层
Hex 发表于 2012-2-2 18:06
你的需求是什么呢?

先count再查询显示,列表页带分页的要先知道有多少数量
发表于 2012-2-3 11:03:49 | 显示全部楼层
ci_kim 发表于 2012-2-3 09:03
先count再查询显示,列表页带分页的要先知道有多少数量

正常来说你要分两步,先查询总数,再做 select 查询。
也就是说你的 where 要写两次,因为 count_all_results() 会清除上面的所有条件等内容。
 楼主| 发表于 2012-2-7 21:13:13 | 显示全部楼层
{:soso_e103:}麻烦,谢谢各位,我还是用我的替换法
发表于 2012-2-8 11:01:12 | 显示全部楼层
ci_kim 发表于 2012-2-7 21:13
麻烦,谢谢各位,我还是用我的替换法

你的方法一样要执行两次,代码量貌似没少反而多了。
你比较一下就知道 AR 的优势了,呵呵
发表于 2012-2-9 00:23:25 | 显示全部楼层
创建条件的过程写成函数
发表于 2012-2-10 09:28:21 | 显示全部楼层
你把$this->db print_r出来看一下就知道了。里面就是一些对象和数组之类的。实在要用。调用get之类的方法之前,先复制一份。。。不建议这样做..hex的方法是正常的流程。

本版积分规则