在Parse中循环使用父子关系的数据

时间:2014-11-16 12:24:53

标签: php parse-platform

我的Parse数据库中有2个表(类),第一个用于"类别"另一个是"子类别"。

"子类别"中的每个对象;有一个字段,在"类别"中包含它的主要对象ID。表

我的问题是,我该如何绕过它们呢? 让我们说我想要获得"类别"中的所有数据。检索相关的"子类别"。

我目前正在做的是,我正在为"类别"在这个循环中,我循环使用相关的"子类别"。但不知何故,这样做似乎是错误的(即使它神奇地起作用):

<?php
// Parse query objects for "Categories"
$categories = new ParseQuery("categories");
$results = $categories->find();

for ($i = 0; $i < count($results); $i++) {
    $category = $results[$i];
    echo '<option value="' . $category->getObjectId() . '">' . $category->get("cat_name") . '</option>'; // Printing from "Categories"

    // Parse query objects for "Sub Categories"
    $subCategories = new ParseQuery("sub_categories");
    $subCategories->equalTo("master_id", $category->getObjectId());
    $resultsSub = $subCategories->find();

    if ($resultsSub != 0) {
        for ($j = 0; $j < count($resultsSub); $j++) {
            $subCategory = $resultsSub[$j];
            echo '<option value="' . $subCategory->getObjectId() . '">+ ' . $subCategory->get("cat_name") . '</option>'; // Printing from "Sub Categories"
        }
    }
}
?>

1 个答案:

答案 0 :(得分:0)

使用matchesQuery选项使用内部查询。在内部查询中具有父类别的条件,并将其与matchQuery一起用于外部查询,该查询将用于子类别。 https://www.parse.com/docs/php/guide#queries-relational-queries

此外,在“子类别”查询中,使用include选项获取父类别对象。这将确保生成的查找操作中的每个子类别对象都具有其父类别对象。

希望有所帮助。