Home > Article > Backend Development > How to use Go language to write the user favorites management module in the door-to-door cooking system?
How to use Go language to write the user favorites management module in the door-to-door cooking system?
As a rapidly popular programming language, Go language performs well in the field of web development. This article will introduce how to use Go language to write the user favorites management module in the door-to-door cooking system, and provide specific code examples.
First, we need to design the database model of user favorites. Assuming that users can collect multiple dishes, we can design two tables: user table and favorites table.
The user table can contain the following fields:
The favorites table can contain the following fields:
In Go language, we can use third-party libraries such as Gorm to operate the database. First, you need to set up a database connection and create related tables.
package main import ( "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" ) var db *gorm.DB func init() { // 创建数据库连接 var err error db, err = gorm.Open("mysql", "username:password@tcp(localhost:3306)/database?charset=utf8mb4&parseTime=True&loc=Local") if err != nil { panic(err) } // 创建相关表 db.AutoMigrate(&User{}, &Favorite{}) } func main() { defer db.Close() // 进行其他操作 }
In Go language, we need to define models to map database tables. The following are the definitions of the User and Favorite models.
type User struct { ID uint `gorm:"primary_key"` Username string `gorm:"unique"` Password string CreatedAt time.Time UpdatedAt time.Time } type Favorite struct { ID uint `gorm:"primary_key"` UserID uint DishID uint CreatedAt time.Time UpdatedAt time.Time User User Dish Dish }
In order to realize the favorites management function, we can define some related interfaces, such as adding favorites, deleting favorites, and obtaining user favorites folder list, etc.
// 添加收藏夹 func AddFavorite(userID uint, dishID uint) error { favorite := Favorite{ UserID: userID, DishID: dishID, CreatedAt: time.Now(), UpdatedAt: time.Now(), } err := db.Create(&favorite).Error if err != nil { return err } return nil } // 删除收藏夹 func DeleteFavorite(userID uint, dishID uint) error { err := db.Where("user_id = ? AND dish_id = ?", userID, dishID).Delete(&Favorite{}).Error if err != nil { return err } return nil } // 获取用户收藏夹列表 func GetFavoriteList(userID uint) ([]Favorite, error) { var favorites []Favorite err := db.Where("user_id = ?", userID).Find(&favorites).Error if err != nil { return nil, err } return favorites, nil }
The above sample code can implement the functions of adding, deleting and obtaining user favorites.
To sum up, this article introduces how to use Go language to write the user favorites management module in the door-to-door cooking system. By defining the database model, creating database connections, and implementing corresponding functions, we can easily manage users' favorites. I hope this article can help you, and happy programming!
The above is the detailed content of How to use Go language to write the user favorites management module in the door-to-door cooking system?. For more information, please follow other related articles on the PHP Chinese website!