Пытаюсь написать parseQuery, который возвращает фото - PullRequest
0 голосов
/ 24 апреля 2020

Я работаю над функцией разбора для класса под названием route. Существует отдельный класс с именем Photos, в котором есть столбец AssocClassId, который является внешним ключом для набора высоты, фотография которого представляет собой фотографию. Сейчас я пытаюсь запросить фотографии, чтобы найти все фотографии текущего подъема. Я застреваю в функции queryPhotos на строке query.whereEqualTo (Route.KEY_OBJECT_ID, Route); - вторым аргументом должен быть объект, и я не знаю, как указать, что я хочу рассматриваемый подъем. Любые идеи?

@ParseClassName("Route")
public class Route extends ParseObject {
    public static final String KEY_OBJECT_ID = "objectId";
    public static final String KEY_NAME = "name";
    public static final String KEY_DESCRIPTION = "description";
    public static final String KEY_LOCATION = "location";
    public static final String KEY_DIFFICULTY = "difficulty";
    public static final String KEY_METHOD = "method";
    protected List <Photo> allPhotos;

    public String getId() { return getString(KEY_OBJECT_ID); }
    public void setId(String objectId) { put(KEY_OBJECT_ID, objectId); }

    public String getName() { return getString(KEY_NAME); }
    public void setName(String name) { put(KEY_NAME, name); }

    public String getDescription() { return getString(KEY_DESCRIPTION); }
    public void setDescription(String description) { put(KEY_DESCRIPTION, description); }

    public ParseObject getLocation() { return getParseObject(KEY_LOCATION); }
    public void setLocation(ParseObject location) { put(KEY_LOCATION, location); }

    public String getDifficulty() { return getString(KEY_DIFFICULTY); }
    public void setDifficulty(String difficulty) { put(KEY_DIFFICULTY, difficulty); }

    public String getMethod() { return getString(KEY_METHOD); }
    public void setMethod(String method) { put(KEY_METHOD, method); }

    protected void queryPhotos() {
        ParseQuery<Photo> query = ParseQuery.getQuery("Photos");
        query.include(Photo.KEY_ASSOC_CLASS_ID);
        query.whereEqualTo(Route.KEY_OBJECT_ID, Route);
        //query.setLimit(20);
        query.addDescendingOrder(Photo.KEY_CREATED_AT);
        query.findInBackground(new FindCallback<Photo>() {
            @Override
            public void done(List<Photo> photos, ParseException e) {
                if (e != null) {
                    Log.e(TAG, "Issue with getting photos", e);
                    return;
                } 
                for (Photo photo : photos) {
                    Log.i("Route", "Post: " + photo.getImage() + ", username: " + 
                       post.getUser().getUsername());
                }
                allPosts.addAll(photos);
            }
        });
    }
}
...