微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 flutter/dart 在 parse(Back4App) 中获取关系数据?

如何解决如何使用 flutter/dart 在 parse(Back4App) 中获取关系数据?

我解析了 2 个表:UserLocation。位置具有与 userId 相关的列名称 User's ObjectId。我在 Location 中手动添加了关系只是为了测试。但是我在获取位置时遇到问题。

用户

|objectId|name |
|--------| --- |
|abc123  | Sta |
|def456  |Danny|

位置

|objectId| geopoint |     userId    |
|--------|----------|---------------|
|someid  |12.3,45.6|view relation|

代码

var locationObject = ParSEObject('Location');
var userObject = ParSEObject('User');

var queryUser = QueryBuilder(userObject)
      ..whereValueExists('objectId',true);
var queryLoc = QueryBuilder(locationObject)
      ..whereMatchesQuery('userId',queryUser);

var result = await queryLoc.query();

print(result.result); // output: null

解决方法

您可以通过 id 手动查找用户:

final queryLoc = QueryBuilder(locationObject)
      ..equals('userId',userId); // add your `userId`.

此外,您可以使用 Parse Flutter SDK 中的 login 方法在应用程序启动时对 Parse 进行身份验证(第一次您需要向您的用户请求登录名和密码,其他方式您可以从缓存中提取 Parse 用户).

注册(您应该添加您的 userpasswordemail 参数):

final user =  ParseUser().create('user','password','user@email.com');

final authResponse = await user.login();
if (response.success){
  user = response.result;
} else {
  // Login error,handle this
}

登录:

final user = ParseUser.currentUser();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。