问题描述
我在我的一个项目中使用livequery尝试了includeObject方法。我正在为此{4}数据库使用Parse_Server_Sdk。另外,我正在使用Flutter parse_server_sdk最新版本1.0.26。
我想要的是我有一个活动列表。因此,无论何时将新事件添加到我的数据库中,它都应触发订阅方法。我使用了以下代码,它也可以正常工作。但是,我唯一遇到的问题是我没有获得我在QueryBuilder中添加的includedobject。
QueryBuilder<ParSEObject> parseQuery =
QueryBuilder<ParSEObject>(ParSEObject(tblEvents))
..whereEqualTo(tblEventUserId,currentUser);
parseQuery.includeObject([tblOrganizerId]);
Subscription subscription = await liveQuery.client.subscribe(parseQuery);
subscription.on(LiveQueryEvent.create,(value) {
print("val : ${value}");
print("val : ${value.runtimeType}");
});
输出:
val : {"className":"Group_Events","objectId":"uotQ6BpT4C","createdAt":"2020-08-27T07:18:26.581Z","updatedAt":"2020-08-27T07:18:26.581Z","organizer_id":{"__type":"Pointer","className":"Organizer","objectId":"t9M1oyZHh4"},"user_id":{"__type":"Pointer","className":"_User","objectId":"Hx5xJ5ABxG"},"weight":1}
I/Flutter (30335): val : ParSEObject
我也评估了表达式。但是,仅有有限的指向“ tblOrganizerId”的指针数据。我没有得到该表的全部数据。
谢谢。
解决方法
我将使用“ ParseLiveListWidget”。对于这种情况,它应该是完美的。 您可以找到示例Feature request。 其他信息在此here中。 (使用1.0.27版进行一些重要的错误修复。)