0
私はsqlite3からレルムにアプリケーションを移動しています。条件付きの領域
は私の古いコードでクエリは、集合した、すなわちコードは、いくつかの設定を確認し、それらを検討することは、適切なクエリ構築します
擬似コード - それは前にあったか:
var str_where = "alala";
IF (SOMETHING) {
str_where += "asdfasdfdasf";
}else{
if (ANOTHERTHING)
str_where += "trampampam";
else
str_where += "blablabla";
}
query+= "WHERE " + str_where
EXECUTE(query);
そして今、私ドン渡して実行するクエリ文字列はありません。
IF (SOMETHING) {
dbPhrases = realm.where(xPhrase.class)
.contains("alala")
.contains("asdfasdfdasf")
.findAll();
}else{
if (ANOTHERTHING)
dbPhrases = realm.where(xPhrase.class)
.contains("alala")
.contains("trampampam")
.findAll();
else
dbPhrases = realm.where(xPhrase.class)
.contains("alala")
.contains("blablabla")
.findAll();
}
そして、それはので、いくつかの変数またはを使用する方法はあり
非常に醜いと乱雑になります - それは、今どのように見えるか
擬似コード:レルムに私のクエリは次のようになりますおそらくRealmQuery
(私は実装できませんでした)途中でクエリを構築し、今までそれをやっていたように最後に実行しますか?
を試してみて、レルム内のワイルドカードに対するサポートはありますか?または、代わりにSQLのSELECT *を実行する方法は、 "BLA%"のようなものなので、文字列は 'Bla'で始まり、何かで終わるでしょうか? –
まだ、ありません。進捗状況はhttps://github.com/realm/realm-java/issues/1377で確認できます。また、RealmQuery.contains()はあなたの問題の一部を解決するかもしれません。 – beeender
'RealmQuery.beginsWith()'を試してください – beeender