2016-07-19 19 views
2

Ich bin sicher, das sollte einfach sein, aber ich kann keine Lösung finden.greenDAO: zwei Eigenschaften miteinander vergleichen

sagen, dass ich eine Tabelle mit 5 Feldern (id, Farbe, Größe, gescannt, erwartet)

wie kann ich alle Zeilen, wo die erwarteten größer als dann gescannt?

Ich habe

versucht
mydao.Property.Expected.gt(mydao.Property.Scanned).list() 

aber gibt 0 Zeilen. Mit dem LOG_SQL boolean kann ich sehen, dass es nach einem Eigenschaftsfeld sucht, nicht nach dem Wert des Feldes.

D/greenDAO: Values for query: [0, [email protected]] 

Antwort

4

greenDAO des QueryBuilder API unterstützt nicht, dass (noch) nicht. Sie müssen eine raw query verwenden.

Es wird wie folgt aussehen:

Query myQuery = myDao.queryBuilder().where(new StringCondition(
    Property.Expected.columnName + " > " + Property.Scanned.columnName)).build(); 

PS .: Ich habe auch eine feature request wenn Sie dies verfolgen, für zukünftige greenDAO Version wollen.

+0

Danke, dachte ich war verrückt! – dave