2015-08-13 1 views
3

Reference в царствах документКак получить родительский объект в Realm

У меня есть некоторые объекты, например, это: Категория и Пункт.
Категория содержит RealmList от Элементы и я могу получить доступ ко всем элементам категории, позвонив по получателю этого списка.
Но как я могу запросить все элементов по категории идентификационного (это аннотированные в качестве первичного ключа)
Я разбор JSON через Realm.createObjectFromJson() и не могу установить Категории поля для каждого Пункта
Thanx заблаговременно

+1

Realm JS Issue для этого: https://github.com/ realm/realm-js/issues/343 –

ответ

6

Если у вас нет ссылки с вашего Item на ваш Category, вы в настоящее время не можете запрашивать товары на основе категории. Концепция, которую вы ищете, находится на нашем TODO и называется обратными ссылками. Вы можете следить за прогрессом в том, что здесь: https://github.com/realm/realm-java/issues/607

В настоящее время обходной путь будет вручную создать эту ссылку после того, как вы скопировали их Realm:

realm.beginTransaction(); 
Category category = realm.createObjectFromJson(categoryJson); 
for (Item item : category.getItems()) { 
    item.setCategory(category); 
} 
realm.commitTransaction(); 

// Then you can do 
realm.where(Item.class).equalTo("category.id", category.getId()).findAll(); 
+0

или, по крайней мере, автоматически установить поле категории для каждого из элементов категории (если это поле существует в классе Item) при разборе – bananabastard

+0

Да, это на самом деле идея обратных ссылок, что они будут автоматически установлены , –

+0

Я думал, что «category.id» было именем поля, как есть период в имени поля? –

Смежные вопросы