我的 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"
}
}
}
?>
使用 matchesQuery 选项使用内部查询。在内部查询中具有父类别的条件,并将其与将用于子类别的外部查询的匹配查询一起使用。https://www.parse.com/docs/php/guide#queries-relational-queries
此外,在子类别查询中使用 include 选项获取父类别对象。这将确保生成的查找操作中的每个子类别对象都有其父类别对象。
希望有帮助。