以下是THINKPHP6模型查询锁代码的示例:
<?php // 启动事务 Db::startTrans(); try { // 更新数据 $result = Db::table('user')->where('id', 1)->update(['name' => 'test']); // 加行级别排他锁 $user = Db::table('user')->where('id', 1)->lock(true)->find(); // 提交事务 Db::commit(); echo '操作成功'; } catch (\Exception $e) { // 回滚事务 Db::rollback(); echo '操作失败'; } ?>
以上示例代码中,先开启事务并通过`update()`方法更新了`user`表中`id`为1的数据的`name`字段为`test`,然后通过`lock()`方法给该行数据加了行级别的排他锁,并将其查出来赋值给`$user`变量。最后,如果操作失败,则回滚事务,否则提交事务并输出操作成功。
相关文章