首页 > 解决方案 > 如何锁定数据库的原始数据,直到另一个操作

问题描述

我想制作一个有两个管理员也使用它的粗略表格。当管理员想要编辑时,他们单击按钮 1 以显示包含 crud 表单的模式。编辑后,他们单击按钮 2 以确认更改。希望当管理员 1 正在编辑原始数据库时,管理员 2 将无法查看或更新该原始数据库。锁定时间是从按钮被点击到按钮 2 被点击。我找到了两个解决方案,但仍然无法解决我的问题。

  1. 使用这样的东西:
   try{
   DB::beginTransaction();
   //Do some stuff on DB here ...
   // In Laravel i see below to prevent modifying or selecting.
   //DB::table('users')->where('votes', '>', 100)->lockForUpdate()->get();

   // after update
   DB::commit();
   }
   catch(Exception $e){
   DB::rollback();
   }

但我不知道如何在我的目的中使用它。

  1. 再添加一个锁定状态(0 不计时,1 计时)列进行管理。如果单击按钮1,则状态变为1,如果单击按钮2,则状态变为0。但是管理员在单击按钮2之前关闭浏览器或编辑时电中断怎么办。

标签: phpmysqllaravel

解决方案


推荐阅读