Android room SELECT * WHERE возвращает все записи

Вы должны сделать это так, как вы описали. MongoDB является нереляционной базой данных и не поддерживает объединения.

0
задан MTA 27 February 2019 в 06:57
поделиться

3 ответа

Попробуйте это

@Query("SELECT * FROM weapon_table WHERE fighter_id IN (:fighter_id)" )
LiveData<List<Weapon>> getFighterWeapons(long fighter_id);
0
ответ дан Akash Suresh Dandwate 27 February 2019 в 06:57
поделиться

Исправление было довольно простым, я следовал этому учебнику по Google Code Labs , и когда я попытался его расширить, я забыл фактически присвоить результат запроса списку, содержащемуся в файле репозитория. Спасибо за предложения, они направили меня в правильном направлении.

  LiveData<List<Weapon>> getFighterWeapons(long fighter_id)
    {
        mWeaponDao.getFighterWeapons(fighter_id);
        return mAllWeapons;
    }

заменено на

LiveData<List<Weapon>> getFighterWeapons(long fighter_id)
{
    mAllWeapons = mWeaponDao.getFighterWeapons(fighter_id);
    return mAllWeapons;
}
0
ответ дан Cal 27 February 2019 в 06:57
поделиться

Ваш код должен работать, но я думаю, что проблема заключается в определении внешних ключей. `

parentColumns = "fighter_id",

childColumns = "fighter_id"

вы можете удалить его и попробовать?

                    `
0
ответ дан Nurseyit 27 February 2019 в 06:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: