DBFlow选择列表中的COLUMN?

A. *_*gen 7 sql database android dbflow

我正在尝试在列表中查询具有主键的所有模型的数据库.这是我的查询(idsList是一个包含整数的ArrayList):

new Select().from(PostModel.class)
    .where(Condition.column(PostModel$Table.ID).in(0, idsList))
    .async().queryList(listener);
Run Code Online (Sandbox Code Playgroud)

但Android Studio突出了其中的条件

"Cannot resolve method 'where(com.raizlabs.android.dbflow.sql.builder.Condition.In)"
Run Code Online (Sandbox Code Playgroud)

那么条件.在不被视为条件?如何在ArrayList中使用primaryKey查询所有模型?

我正在使用DBFlow 2.0.我也可以使用常规SQL查询字符串作为替代,但我不熟悉SQL,所以如果你可以为我的问题提供SQL查询字符串,那将是一种可能的解决方法.

Aus*_*ney 8

DBFlow v3.x现在允许您将集合传递给Condition.in()

List<String> ids = new ArrayList<>();

Condition.In in = Condition.column(Tree_Table.ID.getNameAlias()).in(ids);

long count = new Select().count().from(Tree.class)
        .where(in)
        .count();
Run Code Online (Sandbox Code Playgroud)


sur*_*190 6

创建In条件:

List<String> ids = new ArrayList<String>();

Condition.In in = Condition.column(Tree$Table.ID).in(ids.get(0));
for (i = 1; i < ids.size(); i++){
      in.and(ids.get(i));
}

long count = new Select().count().from(Tree.class)
        .where(in)
        .count();
Run Code Online (Sandbox Code Playgroud)