mysql 如何在作用域函数中添加OR条件

htrmnn0y  于 12个月前  发布在  Mysql
关注(0)|答案(1)|浏览(85)

在MySQL中:

db.Scopes(MyScope).Where("age > ?",30).Find(&user)

如何在MyScope函数中获得如下语句:

SELECT * FROM user WHERE age > 30 AND ( xxx OR xxx )
s3fp2yjn

s3fp2yjn1#

没有试过,但我猜它会像这样工作

db.Scopes(MyScope).Where("age > ?",30).Where(db.Where("name = ?",name).Or("name = ?",name))

它应该生成以下SQL

select * from user where age>30 and (name ='XX' or name='YY')

欲了解更多信息,您可以检查此链接

相关问题