Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

ShardingQuery

分表数据查询类

安装

使用 composer 安装:

composer require mix/sharding-query

使用方法

ThinkPHP 5 的范例,支持任何框架,只需修改 query 参数的闭包代码。

$query = new \ShardingQuery\Query([
'query' => function ($sql) {
return \think\Db::query($sql);
},
'table' => [
'order',
'order_201805',
'order_201804',
],
'field' => '{table}.*, u.name',
'leftJoin' => [
'user AS u ON u.member_id = {table}.member_id',
],
'where' => '{table}.member_id = 10001 AND status = 1',
'order' => '{table}.add_time DESC',
'offset' => 0,
'limit' => 10,
]);
// 查询结果$result = $query->select();
// 总行数,用于分页$count = $query->count();
// 追踪数据,用于调试$trace = $query->trace();

全部参数:

  • query:执行 sql 返回结果的闭包,接收一个 $sql 参数,返回查询结果。
  • table:要查询的多个同构表的清单,数组类型。
  • field:select 选择的列名,字符串类型。
  • innerJoin:join信息,数组类型。
  • leftJoin:join信息,数组类型。
  • where:查询条件,字符串类型。
  • order:排序,字符串类型。
  • offset:偏移数,整数类型。
  • limit:限制数,整数类型。

License

Apache License Version 2.0, http://www.apache.org/licenses/

About

数据库分表分页查询库 (不依赖框架)

Resources

Stars

16 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages