/** * Bootstrap the application services. * * @return void */ public function boot() { Transaction::saving(function ($trans) { $user = User::find($trans->user_id); if ($user->balance < -$trans->amount) { return false; } else { $trans->running = $user->balance + $trans->amount; } }); Transaction::saved(function ($trans) { $user = User::find($trans->user_id); $user->balance = $user->balance + $trans->amount; $user->save(); }); }