我有两个解析类;公司和评级。这是一对多的关系。公司可以有许多评级。这是我将在 SQL 中执行的语句:
SELECT Companies.name, Ratings.rating
FROM Companies
INNER JOIN Ratings
ON Ratings.name_id = Companies.name_id
ORDER BY Companies.name
我想要 Parse 中的等价物,但我不知道该怎么做。这是我目前尝试过的:
function getRatings() {
var tableA = new Parse.Query(Companies);
var tableB = new Parse.Query(Ratings);
tableB.equalTo("name_id", tableA.name_id);
tableB.find({
success: function(results) {
$scope.$apply(function() {
$scope.companies = results.map(function(obj) {
return {
id: obj.get("name_id"),
name: obj.get(tableA.name),
rating: obj.get("rating"),
parseObject: obj
};
});
});
},
error: function(error) {
alert("Error: " + error.code + " " + error.message);
}
});
}
我在控制器加载时调用此函数。此代码在我的输出中显示评级,但不显示公司名称。
我正在尝试获取公司对象中列出的所有公司,然后将它们与评级对象中的所有评级配对。它们的共同键是name_id
. 这是我在 Angular 视图中使用的代码:
<div class="span12">
<div ng-repeat="company in companies | filter: query | orderBy: orderList"
class="well company-description">
<h1>{{company.name}}</h1>
<h3>Rating: {{company.rating}}</h3>
</div>
</div>
如果我在此基础上有所偏离,请告诉我