Mel*_*vin 28 database transactions laravel eloquent
来自laravel文档:数据库事务.它说:
DB::transaction(function() {
DB::table('users')->update(array('votes' => 1));
DB::table('posts')->delete();
});
Run Code Online (Sandbox Code Playgroud)
在这里,明确输入1来更新用户......我试着使用变量,
$id = 3;
DB::transaction(function() {
DB::table('users')->where('id','=',$id)->get();
});
Run Code Online (Sandbox Code Playgroud)
它抛出一个错误:
Undefined variable: id
Run Code Online (Sandbox Code Playgroud)
我也尝试将$ id作为参数放置如下:
$id = 3;
DB::transaction(function($id) {
DB::table('users')->where('id', '=', $id)->get();
});
Run Code Online (Sandbox Code Playgroud)
仍然是一个错误:
类Illuminate\Database\MySqlConnection的对象无法转换为字符串
我做错了什么吗?请指教.谢谢...
Ale*_*ult 58
该use关键字是你所需要的:
$id = 3;
DB::transaction(function($id) use ($id) {
DB::table('users')->where('id', '=', $id)->get();
});
Run Code Online (Sandbox Code Playgroud)
o.v*_*o.v 17
在PHP 7中,语法已更改:
$id = 3;
DB::transaction(function () use ($id) {
DB::table('users')->where('id', '=', $id)->get();
});
Run Code Online (Sandbox Code Playgroud)