Skip to content
Snippets Groups Projects
Commit 35e0a7e2 authored by Martin Schmollinger's avatar Martin Schmollinger
Browse files

Added callback function to calculate field amountDonatedSoFar

parent ca059ca4
No related branches found
No related tags found
No related merge requests found
...@@ -12,3 +12,13 @@ type Campaign struct { ...@@ -12,3 +12,13 @@ type Campaign struct {
Donations []Donation `gorm:"foreignKey:CampaignID;constraint:OnUpdate:CASCADE,OnDelete:CASCADE"` Donations []Donation `gorm:"foreignKey:CampaignID;constraint:OnUpdate:CASCADE,OnDelete:CASCADE"`
Account Account `gorm:"embedded;embeddedPrefix:account_"` Account Account `gorm:"embedded;embeddedPrefix:account_"`
} }
func (c *Campaign) AfterFind(tx *gorm.DB) (err error) {
var sum float64
result := tx.Model(&Donation{}).Select("ifnull(sum(amount),0)").Where("campaign_id = ?", c.ID).Scan(&sum)
if result.Error != nil {
return result.Error
}
c.AmountDonatedSoFar = sum
return nil
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment