这是自己在做项目的时候总结的一些东西,现在拿出来分享给大家。
1 查询条件$map
1.1 简单的查询条件数组
$$condition[‘status’] = $_GET[‘status’];
$map[‘class_id’] = array(‘LIKE’,’%’.$data[‘class’].’%’);
$map[‘name’] = array(‘LIKE’,’%’.$data[‘searchText’].’%’);
1.2 带有or的查询条件
$$map[‘class_id’] = array(‘LIKE’,’%’.$data[‘class’].’%’);
$map[‘name’] = array(‘LIKE’,’%’.$data[‘searchText’].’%’);
$map[‘_logic’] = ‘or’;
name和class_id是或的关系
1.3 带有or和and的查询条件(未亲自试)
sql语句:SELECT * FROM wsj_coupon
WHERE ( user_id
= ‘3’ AND coupon_name
LIKE ‘%g%’ ) OR (use_range
= 0 and state
= 0 )
解决方法:$where[‘_string’] = ” user_id
= ‘3’ AND coupon_name
LIKE ‘%g%’”;
$$where[‘_logic’] = ‘or’;
$map[‘_complex’] = $where;
$map[‘use_range’] = ‘0’;
$map[‘state’] = ‘0’;
M()->where($map)->select();
2 创建分页对象
$$count = $Model->where($map)->coutn();
$Page = new \Think\Page($count,$page_size);
$show = $Page-show();
3 分页参数保持
foreach ($$map as $key => $value) {
$Page->parameter[$key] = urlencode($value);
//$page->parameter .=”$key=”.urlencode($value).”&”;
//以上两种都可以
}
4 设置分页输出样式:setconfig函数
注:文中的双 的地方应该是一个 ,由于编辑器原因,必须写成两个