php - 我如何使用 laravel 4 锁进行更新

标签 php mysql laravel locking

现在我正在使用 Laravel 4 进行网站开发,当我将通过此查询编辑记录时

$cc=DB::table('customers')->where('transaction_id', '=', $_GET['edit'])->lockForUpdate()->get();

但是当我从另一个浏览器通过另一个 session 登录时,用户可以显示记录,因为我在选择更新的页面上查询 现在我想要编辑它的每个用户锁定记录 任何帮助,谢谢。

最佳答案

Lock for update 仅在事务内有效。像下面这样的东西应该可以工作:

DB::transaction(function() {
    $cc = DB::table('customers')->where('transaction_id', '=', $_GET['edit'])->lockForUpdate()->get();
    ...
});

关于php - 我如何使用 laravel 4 锁进行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28173474/

相关文章:

php - Symfony 2 PUGXAutoCompleterBundle

mysql - SQL 计数和分组不返回 0 的计数

php - 组数据库记录并回显组名称及其记录

php - 在 Laravel 中使用 WHERE 返回空数组

php - 为什么我应该使用/不使用可空字段 Laravel - MySQL

php - sql、返回和格式化所有数组数据的正确方法是什么?

php - 我应该为 ImageMagick 使用 PHP 扩展还是只使用 PHP 的 Exec() 函数来运行终端命令?

javascript - 为什么我的路线返回 404 错误 Laravel?

php - file_get_content 和变量问题

mysql - 如何实现连接运算符