/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy(Apartment $apartment, Lease $lease, Payment $payment) { //Business Rule - Do not allow delete of Payment that has been deposited if (!empty($payment->bank_deposits_id)) { return redirect()->back(); } \App\PaymentAllocation::destroy($payment->allocations()->lists('id')->toArray()); $payment->delete(); return redirect()->route('apartments.lease.show', ['name' => $lease->apartment->name, 'lease' => $lease->id]); }