/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { // check if account exists $account = Account::find($id); if ($account === null || $account->user_id != Auth::user()->id) { // stuff to pass into view $title = "Error"; $errmsg = "The account does not exist."; return view('errors.error', compact('errmsg', 'title', 'heading')); } // start database transaction DB::transaction(function () use($account) { // delete account $account->delete(); // get obsolete transfers $transfers = Transfer::whereNull('account_from')->whereNull('account_to')->get(); // delete transfers foreach ($transfers as $transfer) { $transfer->delete(); } }); // flash message session()->flash('flash_message', 'Account deleted successfully.'); // redirect to accounts return redirect()->route('accounts.index'); }