ci_kim 发表于 2012-2-2 17:52:04

Active Record怎样复用


$this->db->where();
$this->db->from();
$this->db->count_all_results();
下面的get()会没有上面的where限制,怎样才能再使用上面的where条件
$this->db->get();

ci_kim 发表于 2012-2-2 17:55:05

最后我用
$this->db->last_query();
取出SQL,然后再替换,执行
$this->db->query();
使用
麻烦,有其他办法吗?不要用model

Hex 发表于 2012-2-2 18:06:17

你的需求是什么呢?

ci_kim 发表于 2012-2-3 09:03:18

Hex 发表于 2012-2-2 18:06 static/image/common/back.gif
你的需求是什么呢?

先count再查询显示,列表页带分页的要先知道有多少数量

Hex 发表于 2012-2-3 11:03:49

ci_kim 发表于 2012-2-3 09:03 static/image/common/back.gif
先count再查询显示,列表页带分页的要先知道有多少数量

正常来说你要分两步,先查询总数,再做 select 查询。
也就是说你的 where 要写两次,因为 count_all_results() 会清除上面的所有条件等内容。

ci_kim 发表于 2012-2-7 21:13:13

{:soso_e103:}麻烦,谢谢各位,我还是用我的替换法

Hex 发表于 2012-2-8 11:01:12

ci_kim 发表于 2012-2-7 21:13 static/image/common/back.gif
麻烦,谢谢各位,我还是用我的替换法

你的方法一样要执行两次,代码量貌似没少反而多了。
你比较一下就知道 AR 的优势了,呵呵

visvoy 发表于 2012-2-9 00:23:25

创建条件的过程写成函数

loadinger 发表于 2012-2-10 09:28:21

你把$this->db print_r出来看一下就知道了。里面就是一些对象和数组之类的。实在要用。调用get之类的方法之前,先复制一份。。。不建议这样做..hex的方法是正常的流程。
页: [1]
查看完整版本: Active Record怎样复用