Android Back4App(Parse) получава данни от множество класове

Създавам приложение за Android, използвайки база данни Back4App(Parse). Имам два класа Post и Post_likes. Искам да извлека всички списъци с публикации от таблицата Post с индивидуални харесвания на публикации от таблицата post_likes в същата заявка.

В таблицата Post имам подробности за публикацията като post_id, user_id и други подробности. В таблицата Post_likes имам user_id, който е харесал конкретната публикация, съответстваща на post_id.

Таблица с публикации с подробности за публикации

Таблица с харесвания на публикации с Post_id и user_id

Сега искам да получа общо харесвания на съответната публикация и потребители, които харесват конкретната публикация, заедно със списъка с публикации.

Искам да извлека общо харесвания на конкретна публикация и след това да покажа в списъка с публикации на началния екран.

И така, как да напишем заявката за комбиниране на двете таблици.

Всяка помощ ще бъде високо оценена.


person Ankit Kamboj    schedule 17.03.2017    source източник
comment
Каква е вашата връзка между Post и Post_Likes? един към един, един към много? Ако е oneToOne, можете просто да включите показалеца в заявката си   -  person ThierryC    schedule 17.03.2017
comment
Това е едно към май отношение. В таблицата с публикации имам множество post_id. И така, искам да избера всички харесвания от таблицата post_like на базата на индивидуален post_id.   -  person Ankit Kamboj    schedule 18.03.2017
comment
Искам да знам как да направя указатели между класовете back4App, за да извличам данни от множество класове.   -  person Ankit Kamboj    schedule 18.03.2017


Отговори (1)


За да дефинирате колона с указател в базата данни, от таблото за управление на Back4App можете да щракнете върху бутона „Редактиране“ за един клас и да добавите нова колона. Изберете типа "Показател" и изберете името на класа, към който искате да посочите в комбинирания списък.
Във вашия код просто добавете показалеца в съответното поле (Нещо като:

ParseObject  PostLikes aPostLike;
ParseObject Post thepost
aPostLike.put("pointedPost", thepost);

(Вижте документацията за точен синтаксис).

Когато правите заявка за List of PostLike, можете да добавите „клауза where“ директно върху указателното поле „pointedPost“.
Можете също така да включите съдържанието на публикацията, докато правите заявка за всички PostLike с ключовите думи „включи": (вижте документа тук: http://parseplatform.org/docs/android/guide/#relational-queries ) :

ParseQuery<ParseObject> query = ParseQuery.getQuery("PostLikes"); 
// Include the post data with each comment
query.include("post");
person ThierryC    schedule 20.03.2017