在GORM上使用mysql Union
在处理复杂的查询是用到 or,在mysql中or 可能对索引并不理想,我们可以用union替代。
例子
请注意 gorm不支持 UNION直接使用,需要使用 db.Raw 做工会:
var users []model.User
DB.Raw("? UNION ? UNION ?",
DB.Model(&model.User{}).
Where("username = ?", loginId),
DB.Model(&model.User{}).
Where("mobile = ?", loginId),
DB.Model(&model.User{}).
Where("email = ?", loginId)).
Find(&users);

浙公网安备 33010602011771号