Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android数据库流,许多检索错误_Android_Database_Where Clause_Dbflow - Fatal编程技术网

Android数据库流,许多检索错误

Android数据库流,许多检索错误,android,database,where-clause,dbflow,Android,Database,Where Clause,Dbflow,问题很简单。我有一个模型: @Table(database = AppSazakDBModel.class) @ManyToMany(referencedTable = PageDeclaration.class) public class Category extends BaseModel { @Column @PrimaryKey public int Id; @Column public String name; @Column

问题很简单。我有一个模型:

@Table(database = AppSazakDBModel.class)
@ManyToMany(referencedTable = PageDeclaration.class)
public class Category extends BaseModel {

    @Column
    @PrimaryKey
    public int Id;

    @Column
    public String name;

    @Column
    public String bannerAddress;

    @Column
    public int minAppSazakVersion;

    private PageDeclaration[] pageDeclarations;

    public PageDeclaration[] getPageDeclarations(){
        if (pageDeclarations == null || pageDeclarations.length < 1){
            Category_PageDeclaration[] category_pageDeclarations = (Category_PageDeclaration[]) (new Select().from(Category_PageDeclaration.class).where(Category_PageDeclaration_Table.category_Id.eq(Id)).queryList().toArray());

            ArrayList<PageDeclaration> listToReturn = new ArrayList<>();

            for (Category_PageDeclaration category_pageDeclaration:category_pageDeclarations) {
                listToReturn.add(category_pageDeclaration.getPageDeclaration());
            }

            pageDeclarations = (PageDeclaration[])(listToReturn.toArray());
        }

        return pageDeclarations;
    }

    public Category setId(int id) {
        Id = id;
        return this;
    }

    public Category setName(String name) {
        this.name = name;
        return this;
    }

    public Category setPageDeclarations(PageDeclaration[] pageDeclarations) {
        this.pageDeclarations = pageDeclarations;
        return this;
    }

    public Category setBannerAddress(String bannerAddress) {
        this.bannerAddress = bannerAddress;
        return this;
    }

    public Category setMinAppSazakVersion(int minAppSazakVersion) {
        this.minAppSazakVersion = minAppSazakVersion;
        return this;
    }
}
正如我们所看到的,我现在也开始建立这种关系

但当我想从关系中检索数据时

public PageDeclaration[] getPageDeclarations(){
            if (pageDeclarations == null || pageDeclarations.length < 1){
                Category_PageDeclaration[] category_pageDeclarations = (Category_PageDeclaration[]) (new Select().from(Category_PageDeclaration.class).where(Category_PageDeclaration_Table.category_Id.eq(Id)).queryList().toArray());

                ArrayList<PageDeclaration> listToReturn = new ArrayList<>();

                for (Category_PageDeclaration category_pageDeclaration:category_pageDeclarations) {
                    listToReturn.add(category_pageDeclaration.getPageDeclaration());
                }

                pageDeclarations = (PageDeclaration[])(listToReturn.toArray());
            }

            return pageDeclarations;
        }
但是在这条线上

Category_PageDeclaration[] category_pageDeclarations = (Category_PageDeclaration[]) (new Select().from(Category_PageDeclaration.class).where(Category_PageDeclaration_Table.category_Id.eq(Id)).queryList().toArray());
当我将其替换为:

Category_PageDeclaration[] category_pageDeclarations = (Category_PageDeclaration[]) (new Select().from(Category_PageDeclaration.class).queryList().toArray());
每件事都很好,所以我认为问题应该是where子句

我认为DBFlow开发人员应该改进关于多对多注释的文档

你知道怎么修理吗

TG

java.lang.RuntimeException: Unable to start activity ComponentInfo{ir.cclever.appsazak/ir.cclever.appsazak.PagesEditorActivity}: com.raizlabs.android.dbflow.structure.InvalidDBConfiguration: Model object: ir.cclever.appsazak.data.model.Category is not registered with a Database. Did you forget an annotation?
Category_PageDeclaration[] category_pageDeclarations = (Category_PageDeclaration[]) (new Select().from(Category_PageDeclaration.class).where(Category_PageDeclaration_Table.category_Id.eq(Id)).queryList().toArray());
Category_PageDeclaration[] category_pageDeclarations = (Category_PageDeclaration[]) (new Select().from(Category_PageDeclaration.class).queryList().toArray());