我第一次使用ActiveAndroid。
我有拥有产品的用户。我想选择拥有特定产品的所有用户。这是我的“计划”
@Table(name = "users")
class User extends Model {
}
@Table(name = "products")
class Product extends Model {
@Column(name = "product_name")
private String name;
@Column(name = "user")
private User user;
}
我有以下方法:
public List<User> getAllUsersThatHaveProduct(String productName) {
// What do I do here?
}
如果我至少知道Active Android创建了什么表以及它如何与两个表相关,我本可以尝试一下,但我不知道。
答案 0 :(得分:2)
您可能希望在此处阅读:https://github.com/pardom/ActiveAndroid/wiki/Querying-the-database
基本上,ActiveAndroid会创建一个名为&#34; products&#34;这将有一个专栏&#34; user&#34;这将是&#34;用户&#34;的外键。表。所以用户记录中的id将与&#34; user&#34;专栏&#34;产品&#34;。
所以你应该能够做到这样的事情:
new Select("u.*")
.from(User.class).as("u")
.join(Product.class).as("p")
.on("u.Id = p.user")
.where("p.product_name = ?", productName)
.execute();