Go 言語を使用して、訪問調理システムのユーザーのお気に入り管理モジュールを作成するにはどうすればよいですか?
Go 言語は急速に普及したプログラミング言語として、Web 開発の分野で優れたパフォーマンスを発揮します。この記事では、Go言語を使用して訪問調理システムのユーザーのお気に入り管理モジュールを記述する方法と、具体的なコード例を紹介します。
まず、ユーザーのお気に入りのデータベース モデルを設計する必要があります。ユーザーが複数の料理を収集できることを想定して、ユーザー テーブルとお気に入りテーブルの 2 つのテーブルを設計できます。
ユーザー テーブルには次のフィールドを含めることができます:
お気に入りテーブルには次のフィールドを含めることができます:
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() // 进行其他操作 }
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 }
// 添加收藏夹 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 }
以上がGo 言語を使用して、訪問調理システムでユーザーのお気に入り管理モジュールを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。