niushop数据库调用方法

  • 内容
  • 相关

Niushop商城在原有thinkphp5的数据库类的基础上进行了封装,并且支持原有thinkphp5的调用方法。

具体如下:

1. 数据表统一放在data/model下

例如userModel:

class UserModel extends BaseModel {

protected $table = 'sys_user';

protected $rule = [

'uid' => '',

];

protected $msg = [

'uid' => '',

];

}

首先继承BaseModel,其次定义数据表,再次定义过滤规则。

2. 可调用方法:

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. 视图查询方法:

对于部分分页列表单表不能满足要求需要通过视图查询:

例如会员列表查询:

class NsMemberViewModel extends BaseModel {

protected $table = 'ns_member';

 

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;

}

 

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;

}

 

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数据库调用方法 - https://www.hzy6.top/?post=22

发表评论

电子邮件地址不会被公开。 必填项已用*标注

未显示?请点击刷新

允许邮件通知