Я использую Parse SDK для android.
В автономном режиме я создал несколько объектов анализа и закрепил их, используя
...
ParseObject.pinAll(cartItems)
orderObject.pin() //orderObject.objectId() returns null!
...
Позже, когда я запросил cartItems в localDatastore i используйте
...
query.whereEqualTo("order", orderObject);
query.fromLocalDatastore().ignoreACLs();
...
, но запрос не дает результата, возможно, потому, что objectId для orderObject имеет значение null.
Есть ли способ успешно выполнить этот запрос?
Если синтаксический анализ не в состоянии сделать это, я должен go для База данных комнат для хранения данных в автономном режиме или есть лучшая альтернатива?
Любая помощь приветствуется.
РЕДАКТИРОВАТЬ:
Есть два подкласса
Order extends ParseObject
OrderIte extends ParseObject
Я создаю несколько OrderItem-ов и один ордер. Я помещаю указатель Order в OrderItem-s и закрепляю их все.
Позже, когда я запрашиваю класс OrderItem в локальном хранилище данных, я хочу получить OrdeItem-s для чередующегося порядка. Таким образом, в запросе OrderItem я устанавливаю
query.equaTo("order",myOrder.getObjectId())
Но поскольку устройство находится в автономном режиме, все время myOrder.getObjectId()
возвращает ноль, и запрос не может найти orderItems для myOrder
Expected query -> Select all from OrderItem where order = myOrder.getObjectId()
Actual query parse makes -> Select all from OrderItem where order = null
ноль поскольку объект хранится в автономном режиме в localdatastore.
ParseObject pinInBackground, возвращающий нулевой objectId
Это делает базовые c запросы неудачными и делает LocalDatastore менее полезным.