/** * * Description: Update Selected Transaction * Component: EditTransactionFormModal * */ public function updateTransaction(SaveTransactionPostRequest $request) { $transaction = Transaction::find($request->input('id')); $transactionType = TransactionType::where('code', $request->input('transactionType'))->first(); if ($transactionType->account_type === 'DR') { $this->validate($request, ['amount' => 'max:' . $account->balance]); } $transaction->transactionDate = Carbon::parse($request->input('transactionDate'))->toDateString(); $transaction->amount = $request->input('amount'); $transaction->transaction_type_id = $transactionType->id; $transaction->notes = $request->input('notes') === '' ? null : $request->input('notes'); $transaction->touch(); $transaction->save(); $transaction->account->balance = $this->recomputeRunningBalance($transaction->account_id); $transaction->account->save(); return response()->json(['message' => 'Transaction Updated.']); }