PHP前端开发

如何在 Orator 中使用多个 LIKE 查询?

百变鹏仔 4天前 #Python
文章标签 多个

如何在 python 的 orator 中构建多个 like 查询?

原生 sql 语句支持使用 or 运算符将多个 like 查询条件组合在一起,例如:

select * from `think_user` where  (`name` like '%think%' or `name` like '%php%')

要将此查询转换为 orator,可以使用多次赋值方法:

and 逻辑:

# 实现 and 逻辑search = ['%word1%', '%word2%', '%word3%', ...]info = db.table('full_text')for s in search:    info = info.where('title', 'like', s)result = info.get()

or 逻辑:

# 实现 OR 逻辑search = ['%word1%', '%word2%', '%word3%', ...]info = DB.table('full_text')for s in search:    if search.index(s) == 0:        info = info.where('title', 'like', s)    else:        info = info.or_where('title', 'like', s)result = info.get()

需要特别注意的是,与原生 sql 语句不同,orator 的 like 查询使用通配符 % 包裹搜索词,而不是使用百分号占位符。