虽然这个问题与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
行。我错过了什么吗?
您是否需要涉及连接的查询?
答案 0 :(得分:4)
Lett#39; s说你想为一个特定的酒吧选择所有食物,你会这样做:
List<Foo> foos = ((Foo) new Select().from(FooBar.class)
.where("Foo = ?", this.getId())
.executeSingle()).foos();