Это мой первый вопрос, и надеюсь, кто-то может мне помочь. Я осмотрелся вокруг, и ничто на эту тему не помогло мне в моей ситуации, поэтому я прибег к публикации запроса о помощи.
Существует таблица («изображение»), в которой хранится информация об Image_id, пользователе, который загрузил это изображение. [Столбцы для этой таблицы: objectID (идентификатор загруженного изображения), имя пользователя (кто загрузил изображение)] (2 столбца)
Существует еще одна таблица ("image_likes"), в которой хранятся пользователи, которым понравилось изображение, и его изображение like_Status. [Столбцы для этой таблицы: image_id (идентификатор изображения, понравившегося другому пользователю), user_id (пользователь, которому понравилось изображение) и like_status этого пользователя для изображения] (3 столбца)
Я хочу выполнить объединение этих двух таблиц с помощью ParseQuery.
--- Условие для присоединения - это получить все лайки для определенного изображения .--
Но я не получаю Result в окончательном наборе Result, хотя у меня есть данные в обеих таблицах, которые удовлетворяют условию соединения?
package com.parse.starter;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.parse.GetCallback;
import com.parse.ParseException;
import com.parse.ParseObject;
import com.parse.ParseQuery;
import com.parse.ParseUser;
public class testJoinActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_join);
ParseQuery<ParseObject> query1 = ParseQuery.getQuery("image_likes");
query1.whereEqualTo("image_id", "PC513nAsdq");
query1.whereEqualTo("user_id","abc");
// Запрос, который принесет определенное изображение из таблицы изображений
Я извлек данные, и это приносит правильный результат
query1.getFirstInBackground(new GetCallback<ParseObject>() {
@Override
public void done(ParseObject object, ParseException e) {
if (e == null) {
Log.i("UserName is: ", object.getString("user_id"));
} else {
Log.i("UserName is: ", "error");
}
}
});
// Я использую приведенный выше запрос и пытаюсь получить лайки для изображения, полученного в запросе выше
ParseQuery<ParseObject> parseQuery = new ParseQuery("image");
parseQuery.whereMatchesKeyInQuery("objectId", "image_id", query1);
parseQuery.getFirstInBackground(new GetCallback() {
@Override
public void done(ParseObject object, ParseException e) {
if (e == null) {
Log.i("UserName is: ", object.getString("username"));
} else {
Log.i("UserName is: ", "error");
}
}
// Это здесь с сообщением, что нет результата для вышеуказанного запроса ??
@Override
public void done(Object o, Throwable throwable) {
}
});
}
}
![enter image description here](https://i.stack.imgur.com/jlHW8.png)
Данные для таблицы изображений: ![enter image description here](https://i.stack.imgur.com/LlfdO.png)
Данные для Image_likes Table ![enter image description here](https://i.stack.imgur.com/hIxtj.png)