1 回答
TA贡献1862条经验 获得超6个赞
有几件事需要尝试和修复:
您可能不需要该属性来加载切片,因为它们只能使用 加载。如果您有外键,可以按如下方式添加它:many2manyDonationDetailDonationID
type Donation struct {
ID uint64 `json:"id" gorm:"primarykey"`
UserID string `json:"user_id"`
PaypalOrderID string `json:"paypal_order_id"`
TotalAmount float64 `json:"total_amount"`
Currency string `json:"currency"`
DonationDetails []*DonationDetail `json:"donation_details" gorm:"foreignKey:DonationID"`
}
您不需要该方法,因为已经是一个指针。但是,要加载数据,您还需要预加载。&dFirstdProject
func List(donationID string) (*Donation, error) {
var d *Donation
if err := db.Debug().Preload("DonationDetails.Project").First(d, donationID).Error; err != nil {
return nil, fmt.Errorf("could not list donation details: %w", err)
}
return d, nil
}
- 1 回答
- 0 关注
- 75 浏览
添加回答
举报