在解析中过滤查询,键是指针

时间:2015-11-13 02:46:59

标签: php parse-platform

我对解析的php方面有点新,主要是objective-c和swift但是我需要编写一些代码,我可以查询一个列(而不是objectID)来返回结果..

我想要查询的列是指向另一个类的指针。

这是我的基本代码,它返回类中的所有行和带有include键的指针数据,但我需要过滤或只获取我正在寻找的行。

$query = new ParseQuery("ClassB");
$query->includeKey("ClassA");
$results = $query->find();

在php sdk中我看到一个使用equalTo的选项,它有一个键和一个值,所以我尝试了下面的代码。

所以我选择了作为指针的列,并且它的objectid希望只返回那些具有该对象id的行。

$query = new ParseQuery("ClassB");
$query->includeKey("ClassA");
$query->equalTo("ColumnNameX", "yjdyaGRWP7");
$results = $query->find();

没有返回任何内容,并且出现了php错误

'pointer field ColumnNameX needs a pointer value' in /var/www/parse/src/Parse/ParseClient.php:326

所以我不能100%确定为什么我不能使用它的objectID过滤ColumnNameX,这是一个指向ClassA的指针..

我是否遗漏了PHP文档中的内容..

我的意思是在mysql中理想地获取我想要的那行

SELECT * FROM ClassB WHERE ColunNameX = yjdyaGRWP7

那会返回我的数据行,我当然可以使用Join来从ClassA获取一些信息。

关于我缺少什么或者我需要先查询A类以获取指针的任何想法,然后在equalTo做类似的事情(“ColumnNamX”,$ pointerfromClassA)?

任何人都有人指出我缺少什么或有一个代码示例..我已经看到一些使用objectID但我没有访问权限。

1 个答案:

答案 0 :(得分:0)

好的我找到了一种方法来做到这一点,不确定这是否是正确的方法,但它现在返回我想要的..

$query->equalTo("ColunNameX", array("__type" => "Pointer", "className" => "ColunNameX", "objectId" => "yjdyaGRWP7"));