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



我有两个表在解析: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

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

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

另外,您可以通过使用Parse Flutter SDK中的login方法在应用程序启动时验证解析(在第一次您需要请求用户的登录和密码,以其他方式您可以从缓存中提取Parse用户)。

注册(您应该添加您的user,passwordemail参数):

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();

相关内容

  • 没有找到相关文章

最新更新