/** * this loan over repayment is probably deducted from a previous receipt * rather than this current one * * @param \ContributionsByMembers $contribution model */ public function probablyPreviousMonthlyContribution($contribution) { if ($contribution->amount > 0) { $theJustPrecedingContribution = $contribution->theJustPrecedingContribution($contribution->member, 2, $contribution->date, $contribution->receiptno); if (empty($theJustPrecedingContribution)) { //very unlikely to occur couz an over repayment occurs when there have been a previous payment $theJustPrecedingContribution = new ContributionsByMembers(); $theJustPrecedingContribution->attributes = $contribution->attributes; $theJustPrecedingContribution->contribution_type = 2; $theJustPrecedingContribution->date = date('Y') . '-' . date('m') . '-' . date('d'); $theJustPrecedingContribution->amount = 0; $theJustPrecedingContribution->receiptno = ContributionsByMembers::FALSE_RECEIPT; $theJustPrecedingContribution->receiptno_again = $theJustPrecedingContribution->receiptno; } $theJustPrecedingContribution->amount = $theJustPrecedingContribution->amount + $contribution->amount; $theJustPrecedingContribution->save(false); } }