如何让 Lumen 使用 DB::transaction?
How do I get Lumen to use DB::transaction?
我将 Lumen 与 SQLite 数据库一起使用。我已经尝试了所有我能想到的在 Lumen 中使用 DB::transaction
的方法,但无济于事。我总是收到这样的错误:
ReflectionException: /vendor/illuminate/container/Container.php line 779
我试过将 use DB;
放在 class 的顶部。我试过 use
外观。似乎没有任何效果。
尝试使用它的简单示例:
DB::transaction(function () use ($attributes, $service) {
$this->person = $this->person->create([]);
// do some other stuff
});
我自己在 Lumen 中使用 DB::transaction
进行交易时遇到了困难。我最终使用的解决方法是使用全局函数 app()
而不是外观来解析数据库,然后像这样使用事务:
app('db')->transaction(function() {
// DB work
});
如果有很多这些,您还可以将调用 app('db')
的结果缓存在一个变量中以供重用。它的行为就像 DB
.
上的静态调用一样
我将 Lumen 与 SQLite 数据库一起使用。我已经尝试了所有我能想到的在 Lumen 中使用 DB::transaction
的方法,但无济于事。我总是收到这样的错误:
ReflectionException: /vendor/illuminate/container/Container.php line 779
我试过将 use DB;
放在 class 的顶部。我试过 use
外观。似乎没有任何效果。
尝试使用它的简单示例:
DB::transaction(function () use ($attributes, $service) {
$this->person = $this->person->create([]);
// do some other stuff
});
我自己在 Lumen 中使用 DB::transaction
进行交易时遇到了困难。我最终使用的解决方法是使用全局函数 app()
而不是外观来解析数据库,然后像这样使用事务:
app('db')->transaction(function() {
// DB work
});
如果有很多这些,您还可以将调用 app('db')
的结果缓存在一个变量中以供重用。它的行为就像 DB
.