I am confused on how to declare Foreign Key in DBFlow. In getting started page for relationship for DBFlow (https://github.com/Raizlabs/DBFlow/blob/f2d90db39a4bf5ffcc0f22032ae20d5328b8d3c3/usage2/Relationships.md), it has example of Queen class but not the Ant nor Colony class.
Does anyone have the complete example that contains Queen + Ant + Colony classes?
Thanks
this is sample code which you want:
parent table:
@Table(database = AppDatabase.class)
public class CafeWebContentCategories extends BaseModel {
@PrimaryKey
private int id;
@Column
private int categoryServerId;
@PrimaryKey
@Column
public int cafeServerId;
@Column
private String title;
@Column
private boolean isAuto;
public List<CafeWebChildContentCategories> subContentCategories;
@OneToMany(methods = {OneToMany.Method.ALL}, variableName = "subContentCategories")
public List<CafeWebChildContentCategories> getMyChannelSubContentCategories() {
if (subContentCategories == null || subContentCategories.isEmpty()) {
subContentCategories = SQLite.select()
.from(CafeWebChildContentCategories.class)
.where(CafeWebChildContentCategories_Table.parentId.eq(cafeServerId))
.queryList();
}
return subContentCategories;
}
public CafeWebContentCategories() {
}
// setters and getters
}
child table:
@Table(database = AppDatabase.class)
public class CafeWebChildContentCategories extends BaseModel {
@PrimaryKey
@Column
public int id;
@Column
public int categoryId;
@Column
@ForeignKey(tableClass = CafeWebContentCategories.class,
references = @ForeignKeyReference(columnName = "parentId", foreignKeyColumnName = "cafeServerId"))
public int parentId;
@Column
private String title;
public CafeWebChildContentCategories() {
}
// setters and getters
}
please ask me if you have question about that