其它方法
更新时间:2025年1月22日 01:56
浏览:801
- alias - 给当前表设置别名
- groupBy - 分组
- having - 筛选
- orderBy - 排序
- limit - 最多返回多少条记录
- offset - 偏移量
- getDbName - 获取数据库名
- getTableName - 获取表名
- getPrimaryKey - 获取主键名
- getFields - 获取字段列表
- getLastSql - 获取最后一次执行的完整 SQL
- init - 初始化
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 - 表模型本身
初始化用于还原 表模型中设置的查询条件等。