Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Parse.com查询指针值_Php_Oop_Object_Parse Platform - Fatal编程技术网

Php Parse.com查询指针值

Php Parse.com查询指针值,php,oop,object,parse-platform,Php,Oop,Object,Parse Platform,从指针列获取值时遇到问题。有一个名为“User”的列指向parse中的“\u User”类。我正在尝试获取与我的位置数据库中的每一行关联的用户名。但出于某种原因,我得到了一个奇怪的反应 Call to a member function get() on a non-object 我的代码是: $query = new ParseQuery("SignoutDestination"); $query->includeKey("User"); // Limit what cou

从指针列获取值时遇到问题。有一个名为“User”的列指向parse中的“\u User”类。我正在尝试获取与我的位置数据库中的每一行关联的用户名。但出于某种原因,我得到了一个奇怪的反应

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中是否有更改或任何可能导致此问题的内容?还是我做错了什么

我遇到了同样的问题,我找到了解决办法:

   $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()
   }
我希望它能帮助你,我会把它作为评论发布,但由于我新创建的帐户,所以无法发布

编辑:我用我在解析中尝试过的东西修改了代码,它起到了作用,但它只是因为抓取而破坏了您的请求比率,找到一种聪明的方法来获取用户名,只需查询_User并比较ObjectId即可


事实上,对于includeKey(),它应该像您编写的那样工作…

可能是因为我不会说PHP,但在我看来错误的是find()结果的赋值。在另一个SDK中,find将异步运行,因此您检查的与$signoutdestinations相关的任何内容都不会被初始化。我可以做echo$obj->get(“用户”);它返回的对象数组很好,但由于某些原因,我无法访问用户名。其他SDK中的另一个事实,希望对您有用,就是用户名有自己的访问器方法(称为username),与使用get的其他属性不同。我想知道它是哪一个
get()
。。。
$obj
实际上是一个对象吗?我想
var\u dump($obj)
gettype($obj)
查看。如果是,调用
$obj->get('User')
可能没有返回对象。我会尝试在那里通过演绎进行调试。@JakeOls-您提到
$obj->get('User')
返回一个对象数组。如果是这样,您必须迭代该结果集,并对每个对象调用
->get('username')
array
不是一个对象,也没有
get()
方法,或者任何类似的方法。谢谢,我在从解析地理点获取lat/long时必须这样做,但出于某种原因,它仍然说“在非对象上调用成员函数getUsername()”。。。我在github上打开了一个问题,但它很快就被关闭了:/我将更新此线程,以防找到解决方案。