Menambahkan query search di Gofiber
Langkah-langkah Membuat Fitur Pencarian
// src/models/Products.go func SelectAllProducts(name string) []*Product { var items []*Product name = "%" + name + "%" configs.DB.Preload("Category").Where("name LIKE ?", name).Find(&items) return items }// src/models/Category.go package models import ( "gofiber/src/configs" "gorm.io/gorm" ) type Category struct { gorm.Model Name string `json:"name" validate:"required,min=3,max=50"` Image string `json:"image"` Products []ApiProduct `json:"products"` } type ApiProduct struct { Name string `json:"name" ` Price float64 `json:"price" ` Stock int `json:"stock" ` CategoryID uint `json:"category_id"` } func SelectAllCategories(name string) []*Category { var categories []*Category name = "%" + name + "%" configs.DB.Preload("Products", func(db *gorm.DB) *gorm.DB { var items []*ApiProduct return db.Model(&Product{}).Find(&items) }).Where("name LIKE ?", name).Find(&categories) return categories }// src/controllers/ProductController.go package controllers import ( "gofiber/src/models" "github.com/gofiber/fiber/v2" ) func GetAllProducts(c *fiber.Ctx) error { keyword := c.Query("search") products := models.SelectAllProducts(keyword) return c.JSON(products) }// src/controllers/CategoryController.go func GetAllCategories(c *fiber.Ctx) error { keyword := c.Query("search") categories := models.SelectAllCategories(keyword) return c.JSON(categories) }
Penjelasan Langkah-langkah
PreviousMembuat middleware menggunahkan JWT(JSON Web Token) di GofiberNextMenambahkan query sort di Gofiber
Last updated