外键的Realm可选方式

时间:2018-03-28 10:36:46

标签: android foreign-keys realm realm-mobile-platform

我是Realm的新手。实际上,Realm没有为外键提供功能,我想使用外键功能。 所以这是我的模特:

public class CategoryInfo extends RealmObject {

        @SerializedName("name")
        String name;

        @SerializedName("id")
        int id;

        @SerializedName("sub_category")
        RealmList<SubCategoryInfo> subCategoryList;

        public Data() {
        }

        public Data(String name) {
            this.name = name;
        }

        public String getName() {
            return name;
        }

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

        public void setSubCategory(RealmList<SubCategoryInfo> subCategoryList) {
            this.subCategoryList = subCategoryList;
        }


        public RealmList<SubCategoryInfo> getSubCategoryList() {
            return subCategoryList;
        }

}

public class SubCategoryInfo extends RealmObject {

        @SerializedName("sub_cat_name")
        String subCatName;

        @SerializedName("sub_id")
        int subId;

        int catId;

        public String getSubCatName() {
            return subCatName;
        }

        public void setSubCatName(String subCatName) {
            this.subCatName = subCatName;
        }

        public int getSubId() {
            return subId;
        }

        public void setSubId(int subId) {
            this.subId = subId;
        }

        public void setCatId(int catId) {
            this.catId = catId;
        }
}

所以现在当我从API端获得响应时,我正在通过下面的代码更新我的对象,以在SubCatInfo类中添加catId

    List<CategoryInfo> catInfoList = catResult.getData();
    for(CategoryInfo catInfo:catInfoList){
        List<SubCategoryInfo> subCatList = catInfo.getSubCategoryList();
        if (subCatList != null) {
            for (SubCategoryInfo subCatInfo:SubCategoryInfo) {
                subCatInfo.setCatId(catInfo.getId());
            }   
        }
    }

所以我想要的是当我从主表中删除任何类别时,应该自动删除subCategory。那么通过什么方式我可以实现这个功能呢?

提前谢谢。

0 个答案:

没有答案
相关问题