public function allocate(Apartment $apartment, Lease $lease, Payment $payment, Request $request) { $input = $request->all(); $payment->allocations()->delete(); foreach ($input as $key => $value) { if ($key != '_token' && $value != 0) { $d = Carbon::parse(1 . '-' . $key); $payment_allocation = PaymentAllocation::firstOrNew(['month' => $d->month, 'year' => $d->year, 'payment_id' => $payment->id]); $payment_allocation->amount = $value; $payment_allocation->save(); } } return back(); }