#### Niushop商城在原有thinkphp5的数据库类的基础上进行了封装,并且支持原有thinkphp5的调用方法。
具体如下:
1、数据表统一放在data/model下
例如userModel:
/**
用户表
*/
class UserModel extends BaseModel {
protected $table = 'sys_user';
protected $rule = [
'uid' => '',
];
protected $msg = [
'uid' => '',
];
}
2、首先继承BaseModel,其次定义数据表,再次定义过滤规则。
可调用方法:
getInfo($condition = '', $field = ''):获取单条记录信息,condition:条件,field:字段,全部用,多个字段用‘,’隔开
getCount($condition):获取指定条件下的记录数。
getSum($condition, $field):获取指定条件下指定字段的和。
getMax($condition, $field):获取指定条件下指定字段的最大值
getMin($condition, $field):获取指定条件下指定字段的最小值
getAvg($condition, $field):获取指定条件下指定字段均值。
getFirstData($condition, $order):获取指定条件下,指定排序方式的第一条记录
getQuery($condition, $field, $order):获取指定条件下的多条记录。
pageQuery($page_index, $page_size, $condition, $order, $field):
单表查询分页列表:page_index:页码,page_size:每页条数,condition:查询条 件,order:排序号,field;查询字段。
3、视图查询方法:
对于部分分页列表单表不能满足要求需要通过视图查询:
例如会员列表查询:
/**
前台会员视图表
@author Administrator
/
class NsMemberViewModel extends BaseModel {
protected $table = 'ns_member';
/*
* 获取列表返回数据格式
* @param unknown $page_index
* @param unknown $page_size
* @param unknown $condition
* @param unknown $order
* @return unknown
*/
public function getViewList($page_index, $page_size, $condition, $order){
$queryList = $this->getViewQuery($page_index, $page_size, $condition, $order);
$queryCount = $this->getViewCount($condition);
$list = $this->setReturnList($queryList, $queryCount, $page_size);
return $list;
}
/**
* 获取列表
* @param unknown $page_index
* @param unknown $page_size
* @param unknown $condition
* @param unknown $order
* @return \data\model\multitype:number
*/
public function getViewQuery($page_index, $page_size, $condition, $order)
{
//设置查询视图
$viewObj = $this->alias('nm')
->join('ns_member_level nml','nm.member_level = nml.level_id','left')
->join('sys_user su','nm.uid= su.uid','left')
->field('nm.uid, nm.member_level, nm.reg_time, nm.memo, nml.level_name, nml.goods_discount, su.uid, su.instance_id, su.user_name, su.user_password, su.user_status, su.user_headimg, su.is_system, su.is_member, su.user_tel, su.user_tel_bind, su.user_qq, su.qq_openid, su.qq_info, su.user_email, su.user_email_bind, su.wx_openid, su.wx_sub_time, su.wx_notsub_time, su.wx_is_sub, su.wx_info, su.other_info, su.reg_time, su.current_login_ip, su.current_login_time, su.current_login_type, su.last_login_time, su.last_login_ip, su.last_login_type, su.login_num, su.real_name, su.sex, su.birthday, su.location, su.nick_name, su.wx_unionid, su.qrcode_template_id');
$list = $this->viewPageQuery($viewObj, $page_index, $page_size, $condition, $order);
return $list;
}
/**
* 获取列表数量
* @param unknown $condition
* @return \data\model\unknown
*/
public function getViewCount($condition)
{
$viewObj = $this->alias('nm')
->join('ns_member_level nml','nm.member_level = nml.level_id','left')
->join('sys_user su','nm.uid= su.uid','left')
->field('nm.uid');
$count = $this->viewCount($viewObj,$condition);
return $count;
}
}
- 用户使用手册
- 首页
- 欢迎页
- 商品
- 商品列表
- 商品发布
- 商品分类
- 商品品牌
- 商品标签
- 商品规格
- 供货商
- 商品类型
- 咨询管理
- 商品评价
- 相册管理
- 商品回收站
- 订单
- 订单列表
- 营销
- 优惠券
- 积分管理
- 满减送
- 限时折扣
- 满额包邮
- 会员
- 会员列表
- 粉丝列表
- 会员等级
- 会员提现
- 积分管理
- 余额管理
- 资产
- 销售概况
- 商品分析
- 同行热卖
- 运营报告
- 销售排行
- 微信
- 公众号管理
- 微信菜单管理
- 推广二维码管理
- 回复设置
- 消息素材管理
- 模板消息设置
- 分享内容设置
- 网站
- 电脑端
- 手机端
- 广告位
- 商品楼层
- 站点帮助
- 文章管理
- 专题列表
- 用户
- 用户列表
- 用户组列表
- 个人资料
- 供应商
- 供应商列表
- 供应提现
- 设置
- 基础设置
- 附件上传
- 注册与访问
- 图片设置
- 第三方登录
- 通知系统
- 支付配置
- 原路退款配置
- 会员提现设置
- 物流配送
- 客服设置
- 扩展
- 插件管理
- 钩子管理
- 系统
- 模块列表
- NiuShop问题整理
- 微信配置问题
- 微信菜单配置无效
- 微信用户提示关注了仍提示未关注
- 模板消息
- 微信公众号配置的注意事项检测
- 如何关闭首页的“关注公众号”
- 第三方登录问题
- qq登录问题
- 微信第三方登录
- 微信公众号与开放平台不是一个账号
- 支付配置问题
- 微信支付配置
- 支付宝支付配置
- 分销相关问题
- 计算思路
- 使用相关问题
- 物流公司以及配送相关的设置问题
- 七牛云存储问题
- 绑定授权
- 升级流程
- 微信https请求
- 物流跟踪(快递鸟设置)
- 二次开发相关问题
- 缓存技术
- 数据库调用
- 分页列表
- 七牛云上传配置问题
- 七牛云空间设置
- 配置自定义域名
- 七牛参数配置
- NiuShop开发手册
- 基础教程
- Niushop开源商城介绍
- Niushop安装
- 目录结构介绍
- 环境要求
- 模块介绍
- 数据表结构说明
- 伪静态(隐藏index.php)
- 添加后台菜单
- 公众号支付配置流程
- 开发教程
- 规格表设计原理机制
- 商品属性表关系
- ajax分页
- Data数据业务层设计
- 积分
- 常见问题