我在从指针列获取值时遇到问题。有一个名为“User”的列指向解析中的“_User”类。我正在尝试获取与location数据库中每一行相关联的用户名。但出于某种原因,我得到一个奇怪的回应。
Call to a member function get() on a non-object
我的代码是:
$query = new ParseQuery("SignoutDestination");
$query->includeKey("User");
// Limit what could be a lot of points.
$query->limit(100);
// Final array of objects
$signoutdestinations = $query->find();
foreach($signoutdestinations as $obj){
echo $obj->get("User")->get("username");
}
SDK中是否有任何更改或可能导致此问题的任何内容?或者我做错了什么?
答案 0 :(得分:1)
我遇到了同样的问题,我找到了一个解决方案:
$query = new ParseQuery("SignoutDestination");
$query->includeKey("User"); // I didn't use it in my query
// Limit what could be a lot of points.
$query->limit(100);
// Final array of objects
$signoutdestinations = $query->find();
foreach($signoutdestinations as $obj){
$pointer = $obj->get("User");
// It retrieves a pointer to object, so you
// can only getObjectId() and specific fields
// like this
$pointer->fetch();
$pointer->getUsername();
// Now you're able to getUsername()
}
我希望它会对你有所帮助,我会将其发布为评论,但由于我刚刚创建的帐户而无法发布。
编辑:我用我在Parse上尝试过的东西改变了代码并且它有效,但它只是因为提取而破坏了你的请求比率,只是通过查询_User并比较ObjectId找到了获取用户名的聪明方法。确实,使用includeKey()它应该在你编写它时起作用...