From 41e1ed5c588474f455f2958cb10ef3930574bc4a Mon Sep 17 00:00:00 2001 From: JongYeob Sheen Date: Mon, 29 Jan 2024 17:56:39 +0900 Subject: [PATCH] =?UTF-8?q?user=20query=20=EC=98=A4=EB=A5=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/controllers/user.go | 2 -- internal/repositories/user.go | 8 ++++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/internal/controllers/user.go b/internal/controllers/user.go index cdeeead..7b2d66b 100644 --- a/internal/controllers/user.go +++ b/internal/controllers/user.go @@ -83,8 +83,6 @@ func (controller *userController) List(c *gin.Context) { } c.JSON(http.StatusOK, response) - - c.JSON(http.StatusOK, response) } // Get User diff --git a/internal/repositories/user.go b/internal/repositories/user.go index a0bdb6c..72607b6 100644 --- a/internal/repositories/user.go +++ b/internal/repositories/user.go @@ -33,7 +33,9 @@ func (r *userRepository) List(q string, page int, limit int) (*[]models.User, er offset := limit * (page - 1) fmt.Println("q", q) if q != "" { - err = r.DB.Offset(offset).Limit(limit).Order("last_name ASC, first_name ASC").Where("user_role = ?", "member").Where("name LIKE ? OR user_name LIKE ?", "%"+q+"%", "%"+q+"%").Find(&users).Error + err = r.DB.Offset(offset).Limit(limit).Order("last_name ASC, first_name ASC").Where("user_role = ?", "member"). + Where("first_name LIKE ? OR last_name LIKE ? OR CONCAT(last_name, first_name) LIKE ? OR user_name LIKE ?", "%"+q+"%", "%"+q+"%", "%"+q+"%", "%"+q+"%"). + Find(&users).Error } else { fmt.Println(" query") err = r.DB.Offset(offset).Limit(limit).Order("last_name ASC, first_name ASC").Where("user_role = ?", "member").Find(&users).Error @@ -45,7 +47,9 @@ func (r *userRepository) Total(q string) (int64, error) { var total int64 var err error if q != "" { - err = r.DB.Model(&models.User{}).Where("user_role = ?", "member").Where("name LIKE ? OR user_name LIKE ?", "%"+q+"%", "%"+q+"%").Count(&total).Error + err = r.DB.Model(&models.User{}).Where("user_role = ?", "member"). + Where("first_name LIKE ? OR last_name LIKE ? OR CONCAT(last_name, first_name) LIKE ? OR user_name LIKE ?", "%"+q+"%", "%"+q+"%", "%"+q+"%", "%"+q+"%"). + Count(&total).Error } else { err = r.DB.Model(&models.User{}).Where("user_role = ?", "member").Count(&total).Error }