【问题标题】:How to fetch relational data in parse(Back4App) using flutter/dart?如何使用颤振/飞镖在解析(Back4App)中获取关系数据?
【发布时间】:2021-03-10 23:50:04
【问题描述】:

我有 2 个要解析的表:UserLocation。 Location 有一个列名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

【问题讨论】:

    标签: javascript android flutter dart back4app


    【解决方案1】:

    您可以通过用户 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();
    

    【讨论】:

      猜你喜欢
      • 2021-03-06
      • 2020-05-19
      • 2020-09-12
      • 2023-03-05
      • 2019-07-27
      • 2020-04-04
      • 2020-11-28
      • 2019-10-21
      • 1970-01-01
      相关资源
      最近更新 更多