2016-08-15 5 views
0

私は単純なクイズ解決アプリを開発しており、データベースには質問とクイズの間に多対1の関係があり、1つのクイズに複数の質問が割り当てられるようになっています。私は私がちょうどできると思った、私はそこにどのように多くの質問知っていただきたいと思い、時にはSugar ORMのcount()メソッドがStringの代わりにString []パラメータを取る理由はありますか?

Question.find(Question.class, "quiz = ?", String.valueOf(quiz.getId())); 

かかわら:

は、私は単に呼んでいるクイズのすべての質問を取得するには

Question.count(Question.class, "quiz = ?", String.valueOf(quiz.getId())); 

は残念ながら、find()とは異なり、SugarRecord.count()方法はStringの配列を受け入れますので、私は次のようにそれを呼び出す必要があります:

Question.count(Question.class, "quiz = ?", new String[]{String.valueOf(quiz.getId())}); 

APIにこの種の矛盾がある理由はありますか?

答えて

1

オーバーロードの理由です。 groupBy, orderBylimitの方法があります。ダム、ダム、ダム。

public static <T> long count(Class<T> type); 
public static <T> long count(Class<T> type, String whereClause, String[] whereArgs); 
public static <T> long count(Class<T> type, String whereClause, 
     String[] whereArgs, String groupBy, String orderBy, String limit); 

しかし、あなた自身の作る:

public static <T> long countWhere(Class<T> type, String whereClause, String... whereArgs) { 
    return Question.count(type, whereClause, whereArgs); 
} 
+0

うわ、私はあなたに感謝、ということに気づきませんでした。それは私がいかに醜いか悲しいです。 – Jezor

関連する問題