2016-10-27 1 views
0

Hallo bekommt ich eine einspaltige Liste in DbFlow, wie eine bestimmte Spaltenliste in DBFlow Android

ich alle Spieldetails zu holen versuchen, wenn ich diesen

public List<Match> getMatchDetails() { 
     return SQLite.select() 
       .from(Match.class) 
       .queryList(); 
    } 

verwenden Aber ich brauche eigentlich eine Liste der Partituren aller Spiele, also habe ich versucht, Details wie diese zu holen.

public List<String> getScore() { 
     return SQLite.select(Match_Table.score) // (score is string) 
       .from(Match.class) 
       .queryList(); 
    } 



But still I can fetch details as List<Match> and not List<String>. Am I doing anything wrong? 

Antwort

0

Ich wollte das gleiche erreichen, aber ich could't die Spalte Typ Werte erhalten, weil Querylist() Abfragen für alle Ergebnisse der Anweisung kehrt von einem DB-Cursor in Form des TModel (Ihr Tabellenklasse Match). Ich landete mit dem folgenden:

public List<String> getScore() { 
    List<String> result = new ArrayList<>(); 
    for (Match match: SQLite.select(Match_Table.score).from(Match.class).queryList()) { 
     result.add(match.getScore()); 
    } 
    return result; 
} 

kann dies für einzelne Abfrage durchgeführt werden, aber ich konnte nicht finden, wie für die Liste zu erreichen:

String score = SQLite.select(Match_Table.score).from(Match.class).where(Condition.column(Match_Table.score.getNameAlias()).is("somescore")).querySingle().getScore(); 
+0

Thankyou @NikolaDev Ich habe diese Methoden ausprobiert. Aber ich verstehe nicht, warum ich eine bestimmte Spalte in DBFlow nicht bekommen kann. SQLite.select (Match_Table.score) und SQLite.select() beide geben dasselbe Match_Table-Modell zurück – Nivedh

Verwandte Themen