8

この質問は ActiveAndroid に関するものですが、ORM に詳しい人なら誰でもこの質問に答えることができるでしょう。

ActiveAndroid は、そのままでは多対多の関係を行う方法を提供していないようです。解決策を探しているときに見つけたのは、この GitHub の問題でした: https://github.com/pardom/ActiveAndroid/issues/46

関係テーブルを明示的に作成していることは理解していますが、次の部分がどのように役立つかわかりません。

public List<Foo> foos() {
    return getMany(Foo.class, "FooBar");
}
public List<Bar> bars() {
    return getMany(Bar.class, "FooBar");
}

のようなクエリになりますSELECT * FROM Foo where Foo.FooBar = FooBar.Id;Fooこれにより、最大で 1行が返されます。何か不足していますか?

結合を含むクエリは必要ありませんか?

4

1 に答える 1

4

1 つの特定のバーのすべての Foo を選択したい場合は、次のようにします。

List<Foo> foos = ((Foo) new Select().from(FooBar.class)
                .where("Foo = ?", this.getId())
                .executeSingle()).foos();
于 2014-05-12T01:38:29.577 に答える