Hyp*_*erX 1 android android-database
我正在尝试使用DBFlow与我的对象,我有一对多的关系(用户有很多业务),我在他们的官方维基上关注教程,但它只是不想工作.
这是我的用户:
@Column
@PrimaryKey(autoincrement = true)
private Integer id;
@Expose
@Column
private Boolean allow_offline;
@Expose
@Column
private Integer user_level;
@Expose
@Column
private Integer account_validity;
@Expose
@Column
private Integer selected_business;
@Expose
@Column
private String user_id;
@Expose
@Column
private Boolean allow_print;
@Expose
@Column
private String email;
@Expose
private List<Business> businesses;
Run Code Online (Sandbox Code Playgroud)
和我的生意
@Expose
@Column
@PrimaryKey
private Integer id;
@Expose
@Column
private String name;
@Expose
@Column
private Boolean is_zero_tax;
@Expose
@Column
private String header;
@Expose
@Column
private String footer;
Run Code Online (Sandbox Code Playgroud)
我应该像在businessBusinessWithUser那样在Business上制作一个方法吗?或者我应该如何链接这个?
这是dbFlowVersion ='3.0.0-beta1'的代码.我简化你的课程:
@Table(database = DbFlowDataBase.class)
public class User extends BaseModel {
@PrimaryKey(autoincrement = true)
Integer id;
List<Business> businesses;
@OneToMany(methods = OneToMany.Method.ALL, variableName = "businesses")
public Field[] dbFlowOneTwoManyUtilMethod() {
if (businesses == null) {
businesses = SQLite.select()
.from(Business.class)
.where(Business_Table.userId.eq(id))
.queryList();
}
return businesses;
}
}
Run Code Online (Sandbox Code Playgroud)
这是Business.class:
@Table(database = DbFlowDataBase.class)
public class Business extends BaseModel {
@PrimaryKey(autoincrement = true)
public Integer id;
@Column
Integer userId;
}
Run Code Online (Sandbox Code Playgroud)
注意dbFlowOneTwoManyUtilMethod是一个充满魔力的人.
| 归档时间: |
|
| 查看次数: |
2128 次 |
| 最近记录: |