class Service A {
public function approve($user, $data) {
$apporvedUser = DB::transaction(function () use ($user, $data) {
if($data['approve_by_admin'] == 1){
$this->updateAdminStatus($user);
}
$user->update(['approved'] => 1); // This fires updated event
})
}
public function updateAdminStatus($user){
$user = DB::transaction(function () use ($user, $data) {
//Some Logic
$user->update(['status'] => 5); // This doesnt fire event
})
}
}
我有上面的方案,同一模型在嵌套事务中更新,但观察者只会更改上次交易,我想在同一模型中获取观察者中的所有更新。
calss名称应为
ServiceA
将整个数据带有单个阵列编写整个数据
Service A
$user->update(['approved' => 1]); # not $user->update(['approved'] => 1);
$user->update(['status' => 5]); #not $user->update(['status'] => 5);
updateAdminStatus($user){
,为什么它有两个$this->updateAdminStatus($user);
use ($user, $data) {