У меня есть два класса анализа; Компании и рейтинги. Это отношения друг к другу. Компании могут иметь множество рейтингов. Это заявление, которое я бы выполнить в SQL:Parse.js + AngularJS проблема с реляционными данными приложения
SELECT Companies.name, Ratings.rating
FROM Companies
INNER JOIN Ratings
ON Ratings.name_id = Companies.name_id
ORDER BY Companies.name
Я хочу эквивалент этого в синтаксический анализ, но я не уверен, как идти об этом. Вот что я в настоящее время пробовал:
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
. Это код, я использую в моем угловом зрении:
<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>
Если я способ покинуть базу на это, пожалуйста, дайте мне знать
Спасибо, Лукас за ваш пост, теперь это намного больше смысла, как вы его описали. Тем не менее, я пробовал второй вариант, который вы указали здесь, но я, кажется, возвращаю неверные результаты. Он возвращает весь объект оценки, и мой рейтинг выводится следующим образом: «[{« stars »: 5,« objectId »:« V2NZoe64G2 »,« createdAt »:« 2013-03-08T18: 54: 05.372Z », , "updatedAt": "2013-03-08T18: 54: 05.372Z"}] ', используя ratings.stars, возвращает меня undefined. – Neil
Значит, вам нужно только свойство 'stars', а не весь объект' rating'? – Lukas
TBH, я не уверен. Я не совсем понимаю, что здесь происходит. Я думаю, что «рейтинги» для этой компании добавляются к объекту «рейтинги» правильно? В конце концов, я хочу получить средний рейтинг ... добавьте все «звезды» вверх, разделите их на общую сумму «оценок». – Neil