-1

我是第一次使用 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 创建哪些表以及它如何关联这两个表,我可以尝试一些方法,但我不知道。

4

1 回答 1

2

您可能想在这里阅读:https ://github.com/pardom/ActiveAndroid/wiki/Querying-the-database

基本上,ActiveAndroid 将创建一个名为“products”的表,其中有一个“user”列,该列将是“users”表的外键。所以用户记录中的 id 将与“产品”上的“用户”列对应。

所以你应该能够做类似的事情:

new Select("u.*")
    .from(User.class).as("u")
    .join(Product.class).as("p")
        .on("u.Id = p.user")
    .where("p.product_name = ?", productName)
    .execute();
于 2015-04-10T16:12:40.050 回答