Reputation: 679
I have RealmClass ProspectGson
as,
public class ProspectGson extends RealmObject
{
public ProspectMaster prospectMaster;
public RealmList<ContactDetail> contactDetails=new RealmList<>();
public RealmList<DiscussionDetail> discussionDetail=new RealmList<>();
@PrimaryKey
public long id;
}
Class ProspectMaster
as,
public class ProspectMaster extends RealmObject
{
private long ProspectId;
private String ProspectCode;
private String ProspectName;
private String TrustName;
}
Class DiscussionDetail
as,
public class DiscussionDetail extends RealmObject
{
private long RecId;
private long ProspectId;
private String DiscussionDetails;
private String CallPriority;
}
and my realm query is,
RealmResults results= realm.where(ProspectGson.class)
.contains("prospectMaster.ProspectName", "abv", Case.INSENSITIVE)
.contains("prospectMaster.TrustName", "xyz", Case.INSENSITIVE)
.contains("discussionDetail.CallPriority", "High", Case.INSENSITIVE)
.findAll();
I have many records of ProspectGson
some contains more than one DiscussionDetail
and some don't have any DiscussionDetail
I want to fetch all ProspectGson
records which contains DisucssionDetail
with CallPriority
is high
and records which don't have any DiscussionDetail
Right now I am getting ProspectGson
records which CallPriority
is high.
Please help me out
Upvotes: 0
Views: 89
Reputation: 1283
RealmResults<ProspectGson> results= realm.where(ProspectGson.class)
.isNotEmpty("discussionDetail")
.contains("discussionDetail.CallPriority", "High", Case.INSENSITIVE)
.findAll();
Please try it
Upvotes: 2