开发文档 v2.x

其它方法

更新时间:2024年1月6日 00:21 浏览:263

 

alias - 给当前表设置别名

public function alias(string $alias): Table

参数:

  • string $alias - 别名

返回值:

  • Table - 表模型本身

 

代码示例:

Be::getTable('user')
  ->alias('u')
  ->leftJoin('user_role AS r', 'u.role_id = r.id')
  ->getObjects('u.id, u.name, r.name AS role_name');

 

groupBy - 分组

public function groupBy(string $field): Table

参数:

  • string $field - 分组字段或条件

返回值:

  • Table - 表模型本身

 

代码示例:

Be::getTable('user')
  ->alias('u')
  ->leftJoin('user_role AS r', 'u.role_id = r.id')
  ->groupBy('r.name')
  ->getObjects('r.name AS role_name, COUNT(u.id) AS counter');
// 返回角色用户数

 

having - 筛选

public function having(string $having): Table

参数:

  • string $having - 筛选条件

返回值:

  • Table - 表模型本身

 

代码示例:

Be::getTable('user')
  ->alias('u')
  ->leftJoin('user_role AS r', 'u.role_id = r.id')
  ->groupBy('r.name')
  ->having('counter > 0')
  ->getObjects('r.name AS role_name, COUNT(u.id) AS counter');
// 返回用户数大于0 的 角色用户数

 

orderBy 排序

public function orderBy(string $field, string $dir = null): Table

参数:

  • string $field - 要排序的字段
  • string $dir 排序方向:asc | desc | ASC | DESC

返回值:

  • Table - 表模型本身

 

代码示例:

Be::getTable('user')
  ->orderBy('age', 'asc')
  ->getObjects();

 

limit - 最多返回多少条记录

public function limit(int $limit = 20): Table

参数:

  • int $limit - 要返回的记录条数

返回值:

  • Table - 表模型本身

 

代码示例:

Be::getTable('user')
  ->orderBy('age', 'asc')
  ->limit(10)
  ->getObjects();
// 返回 10 个最年轻的用户

 

offset - 偏移量

public function offset(int $offset = 0): Table

参数:

  • int $offset - 偏移量

返回值:

  • Table - 表模型本身

 

常与 limit 配合使用,实现分页訅取数据

 

代码示例:

Be::getTable('user')
  ->orderBy('age', 'asc')
  ->offset(30)
  ->limit(10)
  ->getObjects();
// 返回最年轻的用户 第 30 ~ 40 个
// 即分页时的第4页

 

getDbName - 获取数据库名

public function getDbName(): string

参数:

返回值:

  • string - 数据库名

 

getTableName - 获取表名

public function getTableName(): string

参数:

返回值:

  • string - 表名

 

getPrimaryKey - 获取主键名

public function getPrimaryKey()

参数:

返回值:

  • array | string | null - 主键

 

getFields - 获取字段列表

 public function getFields(): array 

参数:

返回值:

  • array - 字段列表

    

getLastSql - 获取最后一次执行的完整 SQL

public function getLastSql(): string

参数:

返回值:

  • string - SQL语句

 

init - 初始化

public function init(): Table

参数:

返回值:

  • Table - 表模型本身

 

初始化用于还原 表模型中设置的查询条件等。
    


    

导航