获取单行记录
更新时间:2024年11月19日 06:49
浏览:651
表模型提供了以下从数据库中读取一行记录的方法
getObject - 对象形式
获取一条对象格式的记录
public function getObject(string $fields = null)
参数:
- string $fields - 字段列表,未指定时返回该表所有字段
返回值:
- object | false - 对象
符合条件的记录有多条时,仅返回第一条
代码示例:
// 所有字段
$user = Be::getTable('user')
->where('id', 'e7f1b4ea-9b8e-11ec-9b24-0242ac180065')
->getObject();
// 指定字段列表
$user = Be::getTable('user')
->where('age', '<', 18)
->getObject('id, name, age');
if ($user) {
// $user->name;
}
getArray - 数组形式
获取一条数组格式的记录
public function getArray(string $fields = null): array
参数:
- string $fields - 字段列表,未指定时返回该表所有字段
返回值:
- array - 数组
符合条件的记录有多条时,仅返回第一条
代码示例:
// 所有字段
$article = Be::getTable('user')
->where('id', 'e7f1b4ea-9b8e-11ec-9b24-0242ac180065')
->getArray();
// 指定字段列表
$article = Be::getTable('user')
->where('age', '<', 18)
->getArray('id, name, age');
// $article['name'];
getValue - 单个值
获取一条字符串格式的记录
public function getValue(string $field): string
参数:
- string $fields - 字段列表,未指定时返回该表所有字段
返回值:
- string - 字符串
返回一个值
- 当查询结果有多条时,仅取第一条记录
- 当前询结结有多列时,仅取第一列内容
代码示例:
$name = Be::getTable('user')
->where('id', 'e7f1b4ea-9b8e-11ec-9b24-0242ac180065')
->getValue('name');
// $name;
// 运算
$maxAge = Be::getTable('user')->getValue('MAX(age)');
$count = Be::getTable('user')->getValue('COUNT(DISTINCT name)');