最佳答案
我正在构建一个 Android 应用程序,它显示用户的潜在匹配列表。用户可以点击其中一个来喜欢这个用户,我在本地保存所有这些喜欢。
我可以编写一个查询来获得这样的匹配列表:
@Query("SELECT * FROM match WHERE liked = :liked ORDER BY match DESC LIMIT :limit")
fun getMatches(limit: Int = 6, liked: Boolean = true): Flowable<List<Match>>
我知道这样很好。然而,我并没有预见到任何将 liked
设置为 false 的场景,因此我很好奇是否有办法对我的布尔条件进行硬编码?如果我尝试:
@Query("SELECT * FROM match WHERE liked = true ORDER BY match DESC LIMIT :limit")
我在编译时得到以下错误:
Error:(8, 0) Gradle: error: There is a problem with the query: [SQLITE_ERROR] SQL error or missing database (no such column: true)
如何在查询字符串中硬编码这个布尔值?
我也试过:
@Query("SELECT * FROM match WHERE liked = 'true' ORDER BY match DESC LIMIT :limit")