/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Apartment $apartment, Lease $lease, Payment $payment, Request $request) { // // return $request->all(); $this->validate($request, ['amount' => 'required | numeric']); $input = $request->all(); $payment->update($request->except('paid_date')); $payment->paid_date = Carbon::parse($request->input('paid_date')); $payment->save(); //Remove Current Allocations for a Payment and Create 1 Allocation for the Edited Payment \App\PaymentAllocation::destroy($payment->allocations()->lists('id')->toArray()); PaymentAllocation::create(['amount' => $input['amount'], 'month' => Carbon::parse($input['paid_date'])->month, 'year' => Carbon::parse($input['paid_date'])->year, 'payment_id' => $payment->id]); return redirect()->route('apartments.lease.show', ['name' => $lease->apartment->name, 'lease' => $lease->id]); }