子テーブルから親テーブルのフィールドにアクセスしたいとします。レルムデータベースの双方向リンク
public class Product extends RealmObject {
@SerializedName("location")
private String locationInStore;
@SerializedName("tags")
private RealmList<Tag> productTags;
}
と
public class Tag extends RealmObject {
@PrimaryKey
private String name;
}
}
今私は、タグテーブル内の名前を検索しなければならないし、私はそのタグの検索と位置を一致した名前を表示する必要があります。
RealmResults<Tag> name = mRealm.where(Tag.class).contains("name", tag, Case.INSENSITIVE).findAll();
しかし、これによってタグ名のみが表示されます。どのようにしてその場所や他のプロパティにアクセスできますか?
私はまた、製品のオブジェクトが、この製品のオブジェクトは、タグ配列でない検索に一致したものを含んで私を返すクエリの上
List<RealmResults<Product>> results = new ArrayList<>();
results.add(mRealm.where(Product.class).contains("productTags.name", tag, Case.INSENSITIVE).findAll());
を試してみました。事前
'一覧>結果についての詳細を読みます= new ArrayList <>(); 'しかし、なぜですか? –
EpicPandaForce
@EpicPandaForce私の完全なクエリは results.add(mRealm.where(Product.class).equalTo(" productTags.name "、tag、Case.INSENSITIVE).findAllです。 ());( "productTags.name"、tag、Case.INSENSITIVE).findAll())このタグの値は、次のようになります。 ; ( "productTags.name"、タグ、Case.INSENSITIVE).notEqualTo( "productTags.name"、タグ、Case.INSENSITIVE).With( "productTags.name"、tag、Case.INSENSITIVE) "productTags.name"、tag、Case.INSENSITIVE).findAll()); – swati
あなたの質問は私を混乱させます。あなたはProduct * - > 1 Tagを持っています。つまり、その場所を持つ製品は、複数のタグに関連付けられる可能性があります。あなたが何をしていても、商品を選択すると、いくつかの異なる名前を持つタグに関連付けられている可能性があります。表示するクエリは、少なくとも1つのタグを持つすべての商品を返します。タグの名前は「タグ」です。それは検索に一致するものです。他のタグにも関連付けられ、これらのタグには異なる名前が付いている可能性が高いようです。 –