I'm using Parse sdk for android.
In offline mode, I created some parse objects and pinned them using
...
ParseObject.pinAll(cartItems)
orderObject.pin() //orderObject.objectId() returns null!
...
Later when i query cartItems in localDatastore i use
...
query.whereEqualTo("order", orderObject);
query.fromLocalDatastore().ignoreACLs();
...
but the query gives no result,probably because objectId of orderObject is null.
Is there any way to execute this query successfully?
If parse is incapable to do this should i go for Room database to store the data offline or is there any better alternative?
Any help is appreciated.
EDIT:
There are two subclasses
Order extends ParseObject
OrderIte extends ParseObject
I create some OrderItem-s and one order. I put Order pointer in OrderItem-s and pin them all.
Later when i query OrderItem class in local datastore I want to retrieve OrdeItem-s for a perticular order. So in the OrderItem query i set
query.equaTo("order",myOrder.getObjectId())
But since the device is offline the whole time
myOrder.getObjectId()
returns null and the query fails to find the orderItems for
myOrder
Expected query -> Select all from OrderItem where order = myOrder.getObjectId()
Actual query parse makes -> Select all from OrderItem where order = null
null as the object is stored offline in localdatastore.
ParseObject pinInBackground returning null objectId
This makes basic queries fail and makes the LocalDatastore less useful.