我对解析的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但我没有访问权限。
答案 0 :(得分:0)
好的我找到了一种方法来做到这一点,不确定这是否是正确的方法,但它现在返回我想要的..
$query->equalTo("ColunNameX", array("__type" => "Pointer", "className" => "ColunNameX", "objectId" => "yjdyaGRWP7"));