Я запрашиваю мою базу данных комнаты, чтобы проверить, существует ли элемент, однако запрос всегда возвращает ноль, даже если элемент уже находится в БД. Я использую сопрограммы
Это мой запрос
@Query("SELECT EXISTS(SELECT * FROM cart_item WHERE productId = :productId)")
suspend fun getItemCount(productId: Int): Int?
Функция в моем хранилище
suspend fun getCartItemCount(productId: Int): Int? {
return coroutineScope{
cartItemDao.getItemCount(productId)
}
}
На мой взгляд модель
fun getCartItemCount(productId: Int): MutableLiveData<Int>? {
var itemCount: MutableLiveData<Int>? = MutableLiveData()
launch {
itemCount!!.value = repository.getCartItemCount(productId)
}
return itemCount
}
И вот как я реализую это в моем фрагменте
fun getCartItemCount(productId: Int){
var itemCount: Int? = null
mainViewModel!!.getCartItemCount(productId)!!.observe(viewLifecycleOwner, Observer {
itemCount = it
})
Log.d("ITEMCOUNT ----> ", " $itemCount")
}