活跃的Android多对多关系

时间:2013-07-15 02:24:24

标签: android sql activeandroid

虽然这个问题与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 个答案:

答案 0 :(得分:4)

Lett#39; s说你想为一个特定的酒吧选择所有食物,你会这样做:

List<Foo> foos = ((Foo) new Select().from(FooBar.class)
                .where("Foo = ?", this.getId())
                .executeSingle()).foos();