所以我正在进行查询以返回记录列表,这些记录具有指向创建记录的用户的链接。链接指向对象。
我的查询获取对象,但我无法访问该对象的字段(课程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);
}
});
我做错了什么?
答案 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;) 并看看它是否有效。