'required|string|max_length[9]', ]; protected $useTimestamps = true; protected $createdField = 'created_at'; protected $updatedField = 'updated_at'; /** * Get total approved refund for a parent in a specific school year. * * @param int $parentId * @param string $schoolYear * @return float */ public function getTotalApprovedRefundByParentIdAndSchoolYear(int $parentId, string $schoolYear): float { // Sum refunds that have been at least partially paid out to the parent $result = $this->selectSum('refund_paid_amount', 'total_paid') ->where('parent_id', $parentId) ->where('school_year', $schoolYear) ->whereIn('status', ['Partial', 'Paid']) ->get() ->getRowArray(); return $result && isset($result['total_paid']) ? (float) $result['total_paid'] : 0.00; } }