2015-05-08 7 views
1

Сейчас у меня есть два набора данных: Post и Images. Каждый раз, когда я получаю Post, мне нужно сделать подзапрос, чтобы захватить его изображение. Я хотел бы просто выполнить этот запрос, чтобы захватить изображение при каждом инициализации объекта Post. Таким образом, каждый раз, когда у меня есть объект Post, я знаю, что у меня также есть доступ к его изображению. Имеет ли это смысл?Крючки или фильтры для `Parse.Object`?

Есть ли способ сделать это? Функция initialize не дает мне доступ к какой-либо из данных объекта, потому что она вызывается до ее установки.

ответ

1

Что вы ищете, это функция .include(). Он позволяет вам указать связанный объект через его поле и вернуть его с родительским объектом. Вроде так:

var Post = Parse.Object.extend("Post"); 
var query = new Parse.Query(Post); 
query.where("author", "Mr. Lebowski"); 

// Include images associated with the Post 
query.include("images"); 

query.find({ 
    success: function(posts) { 
    // Images have been retrieved. For example: 
    for (var i = 0; i < posts.length; i++) { 
     var Images = i.images; //This will be populated with no sub-query 
    }  
    } 
}); 
+0

OK, а если нет указателя на «изображение» из «сообщения». Существует набор данных под названием «Images», который объединяет изображения и сообщения. – Jon

+0

Не знаете, почему вы не использовали бы отношения между «Почтами» и «Имидж», как «один-ко-многим» или «многие ко многим». Если вы можете, я бы рекомендовал изменить дизайн db или пострадать несколькими запросами. –

+0

Хорошо, что здесь происходит много-ко-многим. Существует «соединение таблицы», объединяющее сообщения и изображения. Кажется, я не могу найти много документации о том, как запросить в этом случае. – Jon

Смежные вопросы