新手请教where查询问题

浏览:440 发布日期:2015/12/19 分类:求助交流
table1
id ----- uid ----- name ----- name2
1 ----- 5 ----- wang ----- wanghu
2 ----- 10 ----- li ----- litao$db=M('table1');
$map['id']=1;
$where['name']=array('like','%wa%');
$where['name2']=array('like','%wa%');
$where['_logic'] = 'or';
$map['_complex'] = $where;

//不解的地方
$a=$db->where($map);
$b=$db->where($map);

echo $a->sum('uid');
echo $b->sum('uid');

//最终输出5和15
//如果将最后4句调成
$a=$db->where($map);
echo $a->sum('uid');

$b=$db->where($map);
echo $b->sum('uid');
//这样就正确输出了全是5

/*
但现在程序遇到需要在前面进行where拼接判断,最后才进行数据的查询,
我以前用的程序可通过copy()把where拷贝一份出来,不知thinkphp有没有这个功能,比如别的程序将最后4句改成
*/
$a=$db->where($map);
$b=$a->copy();

echo $a->sum('uid');
echo $b->sum('uid');
翻看了3.2手册没找到copy()这样的操作方法,还有有这样的功能但名字不叫copy
最佳答案
评论( 相关
后面还有条评论,点击查看>>