0
私はコースを更新するには、このクラスの呼び出しを同期した後どのように関係で領域内の作品を削除しますか?
class Student extends RealmObject {
public String code;
public String name;
public String email;
public Course course;
}
class Course extends RealmObject {
public String code;
public String name;
}
class Sync {
// ...
// To sync data I am using retrofit, look the method to update course
public void onResponse(Call<...> call, Response<...> response) {
if (response.isSuccessful()) {
realm.executeTransactionAsync(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
realm.delete(Course.class);
realm.copyToRealm(response.body());
}
});
}
}
}
を持っている、すべての学生オブジェクトがnullに設定し、そのコースがあり、これは後のレルムが削除呼ば期待される動作ですか? テーブルに再び値が設定された後でも、生徒のコースはまだnullです。
今日は、コードにこの変更を行った:
class Course extends RealmObject {
@PrimaryKey
public String code;
public String name;
}
class Sync {
// ...
// To sync data I am using retrofit, look the method to update course
public void onResponse(Call<...> call, Response<...> response) {
if (response.isSuccessful()) {
realm.executeTransactionAsync(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
realm.copyToRealmOrUpdate(response.body());
}
});
}
}
}
私はコースを削除避けるために、これは遅すぎました。
私は参照コースを復習して、学生に再度設定することができますか?
ありがとうございます。
ありがとうございます。私はレルムが削除コースを終えても何らかのIDを学生に保持していると思った。また、参照がテーブルに再び移入された後で回復することができました。注釈@A PrimaryKey'を使用するためのヒントに従っていますが、今では領域からオブジェクトを削除しないようにしています。私は解決のようにこれを閉じます。 – diegofesanto