where('primary_status', 1)->where('status', 1) ->chunkById(100, function ($auths) { try { DB::beginTransaction(); foreach ($auths as $auth) { if ($auth->status != UserAuth::STATUS_WAIT) { continue; } $auth->status = UserAuth::STATUS_AUTH; $auth->check_time = Carbon::now()->toDateTimeString(); $auth->save(); $user = User::query()->find($auth['user_id']); if (!blank($user)) $user->update(['user_auth_level' => User::user_auth_level_top]); } DB::commit(); } catch (\Exception $e) { DB::rollBack(); throw $e; } }); } }