Я новичок в Go, и мои знания указателя ржавые. Я хочу изменить экземпляр gorm.DB, чтобы я мог применить к нему 0 или более предложений Where
.
func () {
db := gorm.Open(/* ... */)
err := applyWhere(db, filters).Order("created_datetime desc").Find(&rMessages).Error
// ...
}
func applyWhere(db *gorm.DB, filters Filters) *gorm.DB {
if filters.MessageType != "" {
db = db.Where(&message{MessageType: string(filters.MessageType)})
}
return db
}
Кажется, это не работает. Экземпляр базы данных не имеет примененного где.
* редактировать 3 *
Теперь это работает. Не уверен, что проблема была раньше. Пожалуйста, закройте / удалите этот вопрос.