2015-05-25 9 views
5

के साथ Realm.io क्वेरी मैं महीने में कुछ खातों को समूहबद्ध करना चाहता हूं, क्या मैं इसे Realm.io के साथ कर सकता हूं?ग्रुपबी

public class Account extends RealmObject { 
..... 
private Date date; 
} 

RealmResults accounts = realm.where(Account.class) 
.beginGroup() 
.equalTo("date", "MONTH(date)")//<----- wrong code 
.endGroup() 
.findAll(); 

धन्यवाद

उत्तर

2

क्षेत्र GroupBy अभी तक समर्थन नहीं करता। यह भी ध्यान रखें कि प्रारंभ समूह() वास्तव में कोष्ठक के समान है। तो आपकी क्वेरी वास्तव में व्याख्या की है के रूप में:

// Between is [ monthStart, monthEnd ] 
Date monthStart = new GregorianCalendar(2015, 5, 1).getTime(); 
Date monthEnd = new GregorianCalendar(2015, 6, 1).getTime() - 1; 
accounts = realm.where(Account.class).between("date", monthStart, monthEnd).findAll(); 

या कुछ इस तरह का पता लगाने के लिए जब एक महीने में परिवर्तन

:

// SQL pseudo code 
SELECT * FROM Account WHERE (date = MONTH(date)) 

क्षेत्र में आप एक महीने का चयन करने के इस तरह कुछ करने के लिए होता है

// pseudo code. You might want to use Calendar instead 
accounts = realm.where(Account.class).findAllSorted("date") 
Iterator<Account> it = accounts.iterator(); 
int previousMonth = it.next().getDate().getMonth(); 
while (it.hasNext) { 
    int month = it.next().getDate().getMonth(); 
    if (month != previousMonth) { 
    // month changed 
    } 
    previousMonth = month; 
} 
+0

आपके त्वरित उत्तर के लिए बहुत बहुत धन्यवाद। पहले मेरे लिए काम करता है। – schwertfisch

संबंधित मुद्दे