所以我想从comms中的ID中获取所有commPlans,但是由于某种原因,我只能得到一个对象(这是comms中的第一个ID)。
这是我的代码:
comms := models.GetComms(CommID)
if comms == nil {
componentsJson.WriteError(ctx, componentsError.ERROR_PARAMETERS_INVALID)
return
}
var commPlans []models.CommPlan
for _, comm := range comms {
commPlans = models.GetCommPlans(comm.CommPlanID)
}
if commPlans == nil {
componentsJson.WriteError(ctx, componentsError.ERROR_PARAMETERS_INVALID)
return
}
最佳答案
您需要使用append
将结果从GetCommPlans
编码到commPlans
slice ,现在您将覆盖以前返回的所有结果。
要么做:
comms := models.GetComms(CommID)
if comms == nil {
componentsJson.WriteError(ctx, componentsError.ERROR_PARAMETERS_INVALID)
return
}
// a slice of slices
var commPlans [][]models.CommPlan
for _, comm := range comms {
commPlans = append(commPlans, models.GetCommPlans(comm.CommPlanID))
}
if commPlans == nil {
componentsJson.WriteError(ctx, componentsError.ERROR_PARAMETERS_INVALID)
return
}
或者:
comms := models.GetComms(CommID)
if comms == nil {
componentsJson.WriteError(ctx, componentsError.ERROR_PARAMETERS_INVALID)
return
}
var commPlans []models.CommPlan
for _, comm := range comms {
commPlans = append(commPlans, models.GetCommPlans(comm.CommPlanID)...)
}
if commPlans == nil {
componentsJson.WriteError(ctx, componentsError.ERROR_PARAMETERS_INVALID)
return
}