💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
#### 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; } }