插入/更新/删除
更新时间:2024年6月22日 21:38
浏览:477
- 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);