Go 言語を使用して、訪問調理システムでユーザーのお気に入り管理モジュールを作成するにはどうすればよいですか?

王林
リリース: 2023-11-01 11:18:20
オリジナル
810 人が閲覧しました

Go 言語を使用して、訪問調理システムでユーザーのお気に入り管理モジュールを作成するにはどうすればよいですか?

Go 言語を使用して、訪問調理システムのユーザーのお気に入り管理モジュールを作成するにはどうすればよいですか?

Go 言語は急速に普及したプログラミング言語として、Web 開発の分野で優れたパフォーマンスを発揮します。この記事では、Go言語を使用して訪問調理システムのユーザーのお気に入り管理モジュールを記述する方法と、具体的なコード例を紹介します。

  1. データベース モデルの設計

まず、ユーザーのお気に入りのデータベース モデルを設計する必要があります。ユーザーが複数の料理を収集できることを想定して、ユーザー テーブルとお気に入りテーブルの 2 つのテーブルを設計できます。

ユーザー テーブルには次のフィールドを含めることができます:

  • ユーザー ID (ID)
  • ユーザー名 (ユーザー名)
  • パスワード (パスワード)
  • 作成時刻 (CreatedAt)
  • 更新時刻 (UpdatedAt)

お気に入りテーブルには次のフィールドを含めることができます:

  • お気に入り ID ( ID)
  • ディッシュID(DishID)
  • ユーザーID(UserID)
  • 作成時刻(CreatedAt)
  • 更新時刻(UpdatedAt)
    ##データベース接続の作成
Go 言語では、Gorm などのサードパーティ ライブラリを使用してデータベースを操作できます。まず、データベース接続を設定し、関連テーブルを作成する必要があります。

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()

    // 进行其他操作
}
ログイン後にコピー

    モデルと関連付けの定義
Go 言語では、データベース テーブルをマップするモデルを定義する必要があります。ユーザー モデルとお気に入りモデルの定義は次のとおりです。

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 言語を使用して、訪問調理システムでユーザーのお気に入り管理モジュールを作成する方法を紹介します。データベース モデルを定義し、データベース接続を作成し、対応する機能を実装することで、ユーザーのお気に入りを簡単に管理できます。この記事があなたのお役に立ち、プログラミングを楽しんでいただければ幸いです。

以上がGo 言語を使用して、訪問調理システムでユーザーのお気に入り管理モジュールを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート