package adsrepository import ( "fmt" adsdomain "legalgo-BE-go/internal/domain/ads" ) func (a *accessor) GetAll() ([]adsdomain.AdsResponse, error) { var ads []adsdomain.AdsResponse if err := a.db.Table("ads"). Select("ads.*, COUNT(log_ads.content_id) as clicked"). Joins("LEFT JOIN log_ads ON log_ads.content_id = ads.id"). Group("ads.id"). Scan(&ads).Error; err != nil { return ads, fmt.Errorf("failed to get all ads: %v", err) } return ads, nil }