我需要使用公开的where
查询来实现selectAll()
。
下面是我代码:
suspend fun getAll(
page: Int, size: Int, keyword: String = ""
): List<DTO> = suspendableQuery {
table.selectAll()
.limit(size, page.toLong())
.andWhere(searchCondition(keyword))
.map(::toDTO)
}
fun searchCondition(keyword: String):
SqlExpressionBuilder.() -> Op<Boolean> = {
if (keyword.isNotEmpty()) (UserTable.phone eq keyword) or
(UserTable.name eq keyword) else Op.TRUE
}
不管我在keyword
参数中放入空字符串还是单词,它都不起作用,结果是空列表。
问题是如何在公开kotlin情况下实现search
特性。
1条答案
按热度按时间dgenwo3n1#
我为自己写的。我创建了扩展函数
加上我的参数
在这里用过。