2015-11-13 20 views
0

我有點新的解析,主要是objective-c和swift,但我需要編寫一些代碼,我可以查詢列(不是對象ID之一)返回結果..在解析過濾一個查詢的關鍵是一個指針

我試圖查詢的列是指向另一個類的指針。

這是我最基本的代碼,它返回類中的所有行和包含鍵的指針數據,但是我需要過濾或只獲取我正在查找的行。

$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(); 

沒有返回,並吐出

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

所以我不是100%肯定一個PHP錯誤,爲什麼我使用它的objectID這是一個指向ClassA的..

由ColumnNameX不能過濾器

我錯過了在PHP文檔東西..

我的意思是最好在mysql中只得到該行我想會是

SELECT * FROM ClassB WHERE ColunNameX = yjdyaGRWP7 

這將返回我的數據行,我可以使用加入當然也從ClassA獲取一些信息。

想知道什麼即時消息或我需要首先查詢類A以獲取指針,然後在equalTo做類似的事情(「ColumnNamX」,$ pointerfromClassA)?

任何人有任何人指出什麼即時通訊丟失或有一個代碼示例..我見過一些使用objectID,但我沒有訪問。

+0

什麼表架構'ClassA'和'ClassB'看起來像? – Ian

+0

我相信你需要將指針對象作爲第二個參數傳遞給'equalTo'方法而不是字符串。 – Ohgodwhy

+0

這就是我想弄清楚你在equalTo參數中做什麼..任何想法或提示? – Steve

回答

0

好吧,我想出了一個辦法做到這一點,不知道這是正確的做法,但現在回到我想要的東西..

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