关于sql语句
来源:12-2 元原生平台user repository开发

慕瓜9063200
2023-04-06
//检测当前用户是否具备权限
func (u *UserRepository) IsRight(action string,userID int64) bool {
permission :=&model.Permission{}
sql := "select p.id From user u,user_role ur,role r,role_permission rp,permission p WHERE p.permission_action=? AND p.id = rp.permission_id AND rp.role_id=r.id AND ur.role_id=r.id AND ur.user_id=u.id AND u.id=?"
u.mysqlDb.Raw(sql,action,userID).Scan(permission)
//可以写其它判断逻辑
if permission.ID > 0{
return true
}
return false
}```
这里为什么用原生sql语句,不用gorm了呢
写回答
1回答
-
Cap
2023-04-06
这里用的是多个表联合查询,且逻辑相对固定,使用sql比较快速.
00
相似问题