gorm jion查询 gorm-查询社团列表以及对应成员信息(jion)

gorm-查询社团列表以及对应成员信息(jion)

func GetOrganizationUsers(c *gin.Context) {
	var req models.OrganizationUser
	if err := c.ShouldBindJSON(&req); err != nil {
		result.Fail(c, result.ResultError)
		return
	}
	type res struct {
		models.User
		models.OrganizationUser
	}
	var organizationUsers []res

	//err := models.DB.
	//	Raw("SELECT users.nick_name,users.avatar,users.header_img,users.online_state,users.phone,organization_users.user_id,organization_users.organization_id,organization_users.identity FROM  `users` JOIN `organization_users` ON `users`.`id`= `organization_users`.`user_id` WHERE `organization_users`.`organization_id`=? ", req.OrganizationID).
	//	Scan(&organizationUsers).Error
	err := models.DB.
		Debug().
		Table("users").
		Select(" users.nick_name, users.avatar, users.header_img, users.online_state, users.phone, organization_users.organization_id,organization_users.user_id, organization_users.identity").
		Joins("JOIN organization_users ON users.id = organization_users.user_id").
		Where("organization_users.organization_id = ?", req.OrganizationID).
		Find(&organizationUsers).
		Error

	if err != nil {
		result.FailWithData(c, err)
		return
	}

	result.OkWithData(c, organizationUsers)

}

上面分别写了sql与gorm,意思是查询users表(用户)和organization_users表(社团用户列表),返回select中users表和organization_users对应的信息

其中result引用并修改:https://blog.csdn.net/upstream480/article/details/128168125
结构体
type User struct {
	gorm.Model
	Name        string `json:"name,omitempty"`
	NickName    string `json:"nick_name,omitempty"`
	Email       string `json:"email,omitempty"`
	Account     string `json:"account,omitempty"`
	Password    string `json:"password,omitempty"`
	Avatar      string `json:"avatar,omitempty"`
	HeaderImg   string `json:"header_img,omitempty"`
	Phone       string `json:"phone,omitempty"`
	Uuid        string `json:"uuid,omitempty"`
	OnlineState bool   `json:"online_state"`
	Enable      bool   `json:"enable,omitempty"`
}
type OrganizationTicket struct {
	gorm.Model
	OrganizationID uint   `json:"organization_id" `
	UserID         uint   `json:"user_id"`
	State          string `json:"state,omitempty"`
}
type OrganizationUser struct {
	gorm.Model
	OrganizationID uint   `json:"organization_id,omitempty" `
	UserID         uint   `json:"user_id,omitempty"`
	Identity       string `json:"identity,omitempty"`
}

初学笔记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值