开发文档 v2.x

获取单行记录

更新时间:2023年9月2日 02:53 浏览:137

表模型提供了以下从数据库中读取一行记录的方法

 

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)');

 

导航