开发文档 v2.x

插入/更新/删除

更新时间:2022年8月27日 10:25 浏览:151
  • insert - 插入数据到数据库
  • update - 更新数据到数据库
  • save - 保存数据到数据库(插入或更新)
  • delete - 删除指定主键值的记录
  • increase - 自增某个字段
  • decrease- 自减某个字段

 

insert - 插入数据到数据库

public function insert(): Tuple

参数:

返回值:

  • Tuple - 行模型本身

 

代码示例:

$arr = [
  'name' => '马云',
  'age' => 50,
];
// 绑定数组形式数据,并向数据库中插入一条记录
Be::getTuple('user')->bind($arr)->insert();

$obj = new \stdClass();
$obj->name = '马云';
$obj->age = 50;
// 绑定对象形式数据,并向数据库中插入一条记录
Be::getTuple('user')->bind($obj)->insert();

// 也可直接绑定 POST 数据
$post = Be::gerRequest()->post();
Be::getTuple('user')->bind($post)->insert();

// 直接赋值插入
$tuple = Be::getTuple('user');
$tuple->name = '马云';
$tuple->age = 51;
$tuple->insert();

// 复制数据库中已存在的记录
$tuple = Be::getTuple('user');
try {
  $tuple->load('f69e75bf-9e18-11ec-a3cb-0242ac180065');
} catch (\Throwable $t) {
  throw new ServiceException('用户不存在!');
}
// 清除主键数据
unset($tuple->id);
$tuple->insert();

 

update - 更新数据到数据库

public function update(): Tuple

参数:

返回值:

  • Tuple - 行模型本身

 

代码示例:

$tuple = Be::getTuple('user');
try {
  $tuple->load('f69e75bf-9e18-11ec-a3cb-0242ac180065');
} catch (\Throwable $t) {
  throw new ServiceException('用户不存在!');
}
$tuple->age = 51;
$tuple->update_time = date('Y-m-d H:i:s');

// 也可绑绑定数据
// $tuple->bind($xxx);

$tuple->update();

 

save - 保存数据到数据库(插入或更新)

public function save(): Tuple

参数:

返回值:

  • Tuple - 行模型本身

 

save 方法不指定是插入或更新,程序跟据是否有主键值自主决定插入或更新。

 

代码示例:

$post = Be::getRequest()->post();

$tuple = Be::getTuple('user');
// 有指定 ID 时加载数据库中的记录
if (isset($post['id']) && $post['id']) {
  try {
      $tuple->load($post['id']);
  } catch (\Throwable $t) {
  }
}

// 绑定表单数据
$tuple->bind($post);

// 可能插入或更新
$tuple->save();

 

delete - 删除指定主键值的记录

public function delete($primaryKeyValue = null): Tuple

参数:

  • int | string | array | null $primaryKeyValue 主键值

返回值:

  • Tuple - 行模型本身

 

代码示例:

// 先加载后删除
$tuple = Be::getTuple('user');
try {
  $tuple->load('f69e75bf-9e18-11ec-a3cb-0242ac180065');
} catch (\Throwable $t) {
  throw new ServiceException('用户不存在!');
}
$tuple->delete();


// 直接删除
Be::getTuple('user')->delete('f69e75bf-9e18-11ec-a3cb-0242ac180065');


// 多主键直接删除
Be::getTuple('user')->delete([
  'id' => 'f69e75bf-9e18-11ec-a3cb-0242ac180065',
  'name' => '马云',
]);

 

increase - 自增某个字段

public function increment(string $field, int $step = 1): Tuple

参数:

  • string $field 字段名
  • int $step 自增量

返回值:

  • Tuple - 行模型本身

 

代码示例:

$tuple = Be::getTuple('user');
try {
  $tuple->load('f69e75bf-9e18-11ec-a3cb-0242ac180065');
} catch (\Throwable $t) {
  throw new ServiceException('用户不存在!');
}
$tuple->increase('age', 1);

 

decrease - 自减某个字段

public function decrement(string $field, int $step = 1): Tuple

参数:

  • string $field 字段名
  • int $step 自减量

返回值:

  • Tuple - 行模型本身

 

代码示例:

$tuple = Be::getTuple('user');
try {
  $tuple->load('f69e75bf-9e18-11ec-a3cb-0242ac180065');
} catch (\Throwable $t) {
  throw new ServiceException('用户不存在!');
}
$tuple->decrease('age', 1);

 

 

导航