解析:从与

时间:2016-08-04 14:25:40

标签: javascript parse-platform

所以我正在进行查询以返回记录列表,这些记录具有指向创建记录的用户的链接。链接指向对象。

我的查询获取对象,但我无法访问该对象的字段(课程ID除外)

query.equalTo("search", search);
        query.include("user");
        query.find({
            success: function(Report) {
                for (var i = 0; i < Report.length; i++) {
                    var test = Report[i].id;
                    query.get(test, {
                        success: function(result) {
                            var reportDescription = result.get("reportDescription");
                            var reportPicture = result.get("reportPicture");
                            var reportPosition = result.get("reportPosition");
                            var reportType = result.get("reportType");
                            var reportDate = result.get("createdAt").toLocaleString();
                            var reportSearchId = result.get("search").id;

                            var user = result.get("user")
                            console.log(user)
                            var reportSearchBy =  user.username;

                        },
                        error: function(result, error) {
                            alert(error.message);
                        }
                    });
                };
            },
            error: function(error) {
                alert(error.message);
            }
        });

我做错了什么?

1 个答案:

答案 0 :(得分:1)

我试图运行与你所做的相似的代码。当我尝试使用点符号访问时,我得到了未定义但是当我试图使用.get(&#34; fieldName&#34;)时,它可以工作..

这是我的代码:

  var FileTest = Parse.Object.extend("FileTest");
  var query = new Parse.Query(FileTest);
  query.include("user");
  query.find().then(function(results){

    var lastItem = results[results.length - 1];
    if (lastItem){
      var user = lastItem.get("user");
      console.log(user.get("username"));
    }

  },function(error){

  });

请注意我也使用Promise进行更好的编码,并且为了获得用户名 lastItem.get(&#34;用户名&#34;) 所以请尝试将 user.username 替换为 user.get(&#34;用户名&#34;) 并看看它是否有效。