Onkar
Onkar

Reputation: 679

RealmQuery get records with null value also

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 ProspectGsonrecords which contains DisucssionDetail with CallPriorityis high and records which don't have any DiscussionDetail

Right now I am getting ProspectGson records which CallPriorityis high.

Please help me out

Upvotes: 0

Views: 89

Answers (1)

propoLis
propoLis

Reputation: 1283

RealmResults<ProspectGson> results= realm.where(ProspectGson.class)
        .isNotEmpty("discussionDetail")
        .contains("discussionDetail.CallPriority", "High", Case.INSENSITIVE)
        .findAll();

Please try it

Upvotes: 2

Related Questions